Liên kết bài gốc: https://rekt.news/singularitynet-rekt
Nguồn dữ liệu: SingularityNET, SlowMist, Bitquery, PeckShield, ASI Alliance, Blockaid, Uniswap, Baltex, AMLBot, NuNet, Fetch.ai.
Tuyên bố: Bài viết này là nội dung đăng lại. Bạn đọc có thể truy cập liên kết bài gốc để biết thêm thông tin. Nếu tác giả có bất kỳ ý kiến nào về việc đăng lại dưới dạng này, vui lòng liên hệ với chúng tôi; chúng tôi sẽ chỉnh sửa theo yêu cầu của tác giả. Đăng lại chỉ nhằm mục đích chia sẻ thông tin, không cấu thành bất kỳ lời khuyên đầu tư nào, và không đại diện cho quan điểm và lập trường của Ngô Nói.
Trong nhiều năm qua, SingularityNET luôn nỗ lực thúc đẩy một thị trường dành cho các tác nhân AI tự chủ sử dụng.
Tuy nhiên, vào tối ngày 19 tháng 9, “tác nhân” bận rộn nhất trên mạng lại là một đoạn script không do đội ngũ SingularityNET viết.
Kẻ tấn công đã xâm nhập hạ tầng cloud của dự án, giành quyền truy cập các chữ ký bị lộ ra; chỉ dựa trên một lần ký đã rút cạn thanh khoản FET trong hợp đồng đổi trên Ethereum, sau đó trong vòng chín giờ đã tự đúc ra tổng cộng 2,3 tỷ token AGIX, NTX, WMTX và CGV. Một số bài báo liệt kê số tiền bị đánh cắp là 16,77 triệu USD. Nhưng việc hoàn nguyên theo từng giao dịch cho thấy kẻ tấn công thực sự có được tổng số tiền đã hiện thực hóa vào khoảng 2,29 triệu USD, và phần lớn token được đúc thêm đã không được bán. Tất cả các khóa dùng để ký đều là hợp lệ và có giá trị thực. Mọi hợp đồng thực thi lệnh cũng đang chạy theo đúng logic đã định.
Nhưng tác động do cuộc tấn công gây ra không chỉ dừng ở tổn thất tiền bạc. Vài ngày trôi qua, các bên liên quan vẫn chưa công bố báo cáo điều tra hậu sự đầy đủ.
Khi toàn bộ khóa của một liên minh dự án AI được lưu trong cùng một hạ tầng cloud, rốt cuộc ai mới là người nắm quyền điều khiển cỗ máy này?
Nguồn dữ liệu: SingularityNET, SlowMist, Bitquery, PeckShield, ASI Alliance, Blockaid, Uniswap, Baltex, AMLBot, NuNet, Fetch.ai.
Tổn thất tài sản xuất hiện sớm nhất là FET, nhưng cuộc tấn công không dừng lại ở đó.
Lúc 20:21 ngày 19 tháng 9, kẻ tấn công hoàn tất việc chuyển FET. Chỉ sau 2 phút 24 giây, khoảng 8,7 triệu FET bị chuyển đi đã được đổi hết thành 522,78 ETH. Lúc 21:40, Blockaid phát cảnh báo về dòng tiền FET này và chỉ ra rằng cùng một ví cũng nhận được lượng lớn NTX được đúc từ địa chỉ của nhà triển khai thuộc NuNet. Ban đầu Blockaid gọi đây là vụ việc bị tấn công nhắm vào Fetch.ai, nhưng sau đó SingularityNET xác nhận rằng phần bị xâm nhập là hạ tầng của chính họ. Vụ việc ban đầu tưởng chỉ liên quan đến Fetch.ai nhưng phạm vi tác động còn rộng hơn dự đoán ban đầu.
Đến 02:47 ngày 20 tháng 9, SlowMist đã nhận diện được cơ chế tấn công: chỉ cần nắm giữ khóa của bên được ủy quyền là đủ để rút cạn cầu nối xuyên chuỗi. Câu chuyện “một khóa bị lộ cộng với một hợp đồng tin tưởng nó” đã lặp đi lặp lại nhiều lần.
Việc FET bị chuyển đi không phải là điểm dừng cuối cùng của cuộc tấn công. Sau 29 phút, tức 20:50 ngày 19 tháng 9, kẻ tấn công dùng quyền đúc của NuNet để trực tiếp tạo ra khoảng 408,5 triệu NTX trên hợp đồng token. Đợt đúc thêm quy mô lớn hơn bắt đầu từ 03:13 ngày hôm sau; kẻ tấn công đúc trái phép AGIX theo từng lô 10 triệu token. Đến 03:38 thì việc đúc trái phép WMTX cũng bắt đầu. Đúc AGIX kéo dài đến 04:21, sau đó CGV từ 04:34 đến 04:38 trải qua 50 lần gọi đúc.
Khi trời sáng, cảnh báo công khai đã mở rộng phạm vi sự việc từ việc tiền ở cầu nối xuyên chuỗi bị rút cạn sang việc quyền ủy quyền của nhiều token bị xâm nhập. Ảnh chụp ví giai đoạn đầu ước tính giá trị danh nghĩa nắm giữ của kẻ tấn công khoảng 16,77 triệu USD, nhưng ước tính này thực chất giả định rằng những token vừa được đúc và thiếu độ sâu giao dịch đều có thể được bán theo báo giá thị trường.
Cuộc tấn công không dừng khi màn đêm kết thúc. Lúc 13:10 ngày 20 tháng 9, một hợp đồng thanh toán của SingularityNET đã chuyển toàn bộ 289.575,10 USDC vào một ví mà trước đó đã bị xóa sạch trong quá trình xâm nhập. Chỉ 12 giây sau, khoản tiền này đã vào ví gom tiền thứ hai của kẻ tấn công.
Một chữ ký bị đánh cắp vì sao có thể rút cạn cầu nối xuyên chuỗi chỉ bằng một lần gọi? Và vì sao on-chain lại không có bất kỳ cơ chế nào ngăn chặn điều đó?
Các khóa chưa từng khởi tạo giao dịch
Các token do cầu nối xuyên chuỗi của SingularityNET hỗ trợ chạy trên hai chuỗi. Đối với lộ trình chuyển từ Cardano sang Ethereum mà nó hỗ trợ, token sẽ bị hủy trên Cardano trước, sau đó được đúc hoặc giải phóng tương ứng bởi cầu nối xuyên chuỗi ở phía Ethereum. Tuy nhiên, hợp đồng ở phía Ethereum không tự xác minh việc hủy trên Cardano có thực sự diễn ra hay không; thay vào đó, nó xem chữ ký do các bên được ủy quyền đặt sẵn cung cấp là bằng chứng rằng việc hủy đã hoàn tất.
Bitquery thống kê trong các cầu nối xuyên chuỗi bị ảnh hưởng có năm địa chỉ bên được ủy quyền, và trước đó các địa chỉ này chưa từng gửi giao dịch on-chain. Mẫu này phù hợp với việc sử dụng khóa ký offline để phê duyệt việc giải phóng tài sản ở cầu nối xuyên chuỗi, chứ không phải trực tiếp khởi tạo giao dịch. Sau đó SingularityNET cho biết một bên thứ ba không được ủy quyền “đã truy cập vào một phần hạ tầng cloud của chúng tôi”, nhưng không giải thích bên đó đã giành quyền truy cập như thế nào.
Thiết kế này khiến niềm tin của mỗi cầu nối xuyên chuỗi bị tập trung vào một bên nắm quyền ký của nó.
Giao dịch hợp đồng đổi bị rút cạn toàn bộ số dư FET: 0xab424a430cc09864fa1277a38193111705adf3a3
Bên được ủy quyền phê duyệt đổi để chuyển đi số tiền này: 0x69e5446b07b23de0a76730062c3252152216c85c
Giao dịch tấn công giải phóng 8.721.530,40 FET: 0xfe12c63b322d52727c615f3342222138d1563400a9880cebb516a9a162ac69e2
Athena trong một báo cáo pháp y do ASI Alliance biên soạn đã khôi phục ra địa chỉ của người ký từ chữ ký trong thao tác chuyển đi lần này và xác nhận rằng người này trùng với bên được ủy quyền hiện đang được cấu hình trong hợp đồng. Báo cáo cho biết, kể từ khi hợp đồng đổi này được triển khai vào tháng 9 năm 2024, bên được ủy quyền đó chưa từng thay đổi.
Hai lựa chọn thiết kế đã khuếch đại tác động khi quyền ủy quyền bị xâm phạm. Trước hết, conversionIn() chỉ sử dụng chữ ký của một tài khoản bên ngoài (EOA) làm kiểm tra ủy quyền duy nhất; thứ hai, hàm này không áp dụng kiểm tra giới hạn checkLimits(amount) như trong conversionOut(). Vì vậy, hạn mức 100 đến 1 triệu FET cấu hình cho hợp đồng không ràng buộc conversionIn(); hợp đồng cuối cùng đã chấp nhận các yêu cầu giải phóng khoảng 8,72 triệu FET, tương đương 8,7 lần hạn mức tối đa được hiển thị.
Báo cáo điều tra pháp y của Athena cũng phát hiện rằng tất cả 100 sự kiện ConversionIn bình thường đều sử dụng mã định danh UUID định dạng do backend SingularityNET tạo ra. Còn mã định danh được dùng trong cuộc tấn công lại là một chuỗi byte thô không phải ASCII, là ngoại lệ duy nhất. Giao dịch này không phù hợp với đặc trưng của thao tác cầu nối xuyên chuỗi thông thường.
Phần đúc thêm bị tấn công của NuNet lại liên quan đến quyền trực tiếp hơn. Khoảng 408,5 triệu NTX hoàn toàn không thông qua hợp đồng đổi, mà do một địa chỉ giữ vai trò đúc token trên chuỗi của NuNet trực tiếp gọi hàm mint() trong hợp đồng token.
Giao dịch đúc 408.532.878,13 NTX: 0xe14442f6171d8a652e79d44336e58c00cdab271bdb69c668493d420e03ee13ab
Đúc theo lô CGV của AGIX được thực hiện qua địa chỉ triển khai của SingularityNET: 0xA7A31d206042B8A3E81aa4cf8c68c1B76856eE48
Các lệnh gọi hợp đồng đổi cho AGIX, WMTX và CGV đều kết thúc bằng một thao tác đúc không phải dạng lô số lượng thông thường. Mẫu này phù hợp với việc tự động đúc liên tục cho đến khi chạm một ràng buộc thao tác nào đó.
Hợp đồng đổi WMTX của World Mobile đúng là có giới hạn cho một lần gọi, nhưng nó không ngăn được cuộc tấn công; nó chỉ buộc kẻ tấn công chia việc đúc thành 503 lần gọi. Phần lớn các lần gọi đều đúc đúng 1 triệu WMTX, và tối đa có mười lần xuất hiện trong cùng một khối.
Bitquery cho biết rằng trước khi bất kỳ token nào được đúc, đã có 16 ví bị xóa sạch trong vòng 21 phút, đồng thời trong cùng khoảng thời gian đó cũng xuất hiện hoạt động liên quan trên BNB Chain. Theo danh mục địa chỉ của họ, bốn ví có nhãn nhân viên SingularityNET hoặc NuNet, trong đó có một tài khoản triển khai hợp đồng đổi liên quan từ năm 2022. Điều này cho thấy sự việc liên quan đến nhiều đường dẫn ủy quyền của các dự án bị ảnh hưởng.
Một địa chỉ khôi phục đã thay đổi cấu hình người được ủy quyền của các hợp đồng đổi NuNet, Cogito và Rejuve, sau đó đã đóng băng NTX. Bitquery cho biết các hợp đồng đổi AGIX và WMTX đã không được xử lý kịp thời theo cách tương tự vì chủ sở hữu của chúng lần lượt là một ví đa chữ ký Gnosis Safe và một ví đa chữ ký Safe khác cần 3 trong số 4 người ký duyệt. Trong thời gian bàn giao quyền, việc đúc AGIX và WMTX vẫn tiếp tục thêm khoảng một giờ.
SingularityNET viết: “Hệ thống của chúng tôi định kỳ chấp nhận kiểm toán và tuân thủ các tiêu chuẩn bảo mật trong ngành.” Kiểm toán có thể đánh giá mã của hợp đồng thông minh, nhưng chỉ dựa vào kiểm toán thì không thể chứng minh rằng hệ thống và các khóa cá nhân dùng để tạo chữ ký hoặc thực thi quyền ký là an toàn. Các khóa ủy quyền liên quan đến dự án bị ảnh hưởng đã cung cấp chữ ký hợp lệ, từ đó cho phép tạo ra một lượng lớn token bổ sung.
Vậy khoản lỗ lớn được nhắc đến trong bài báo rốt cuộc đã trở thành tài sản thanh khoản bao nhiêu, và bao nhiêu chỉ là các token mới đúc mà thị trường có thể chẳng bao giờ hấp thụ được?
Hàng triệu USD trên sổ sách
Các con số khác nhau trong bài viết phản ánh những thứ khác nhau. Việc kẻ gian rút token khỏi hợp đồng mà không được ủy quyền là một tổn thất tài sản trực tiếp; còn việc đúc token trái phép thì phá hỏng nguồn cung token. ETH và stablecoin thu được từ việc bán token hoặc rút trực tiếp tài sản của địa chỉ thuộc về kẻ tấn công mới là lợi nhuận đã được hiện thực hóa. Số tiền quy đổi theo giá token trên thị trường trong số dư ví không tự động tương đương với tiền mặt, cũng không tự động bằng với giá trị có thể thu hồi. Các báo cáo ban đầu lặp đi lặp lại việc trộn lẫn những khái niệm này.
Đúc 2,3 tỷ token thì dễ, nhưng tìm được người mua lại không dễ. FET bị chuyển đi trong cầu nối xuyên chuỗi tạo thành hoạt động hiện thực hóa đơn lẻ lớn nhất được nhận diện. Chỉ với một giao dịch đổi thông qua đường dẫn MetaMask, sau khi trừ phí hiển thị của đường dẫn này, số FET đã được đổi thành 522,78 ETH.
Giao dịch khoảng 872 vạn FET đổi lấy 522,78 ETH: 0x98f6e59b54fd4d2c086cc7cab4e7070edff6410210a1bf1fbaffd62da3b76d1c
Hai địa chỉ nhận phần lớn lợi nhuận được nhận diện và token được đúc thêm. Địa chỉ gom tiền chính của kẻ tấn công nhận FET bị chuyển đi và NTX mới được đúc. Theo việc hoàn nguyên giao dịch này, đó cũng là bên nhận trong 26 lần đầu tiên trong số 90 lần đúc AGIX và 54 lần đầu tiên trong số 503 lần gọi đúc WMTX.
Địa chỉ mà kẻ tấn công chủ yếu gom về: 0x2dcc1085fdcf418b421e45e86e4e54637cc21dfe
Ví thứ hai nhận các token được tạo ra từ 64 lần gọi đúc AGIX còn lại, 449 lần gọi đúc WMTX và toàn bộ 50 lần gọi đúc CGV, cùng với USDC từ hợp đồng thanh toán.
Địa chỉ ví thứ hai: 0x83f4424a401a9bb75f90314f21adaea6a9ce09c5
Bitquery truy ngược nguồn vốn ban đầu của các ví chủ yếu được gom về tới ChangeNOW.
Giao dịch cung cấp tiền của ChangeNOW: 0xa99a8b71bd90d295db305639fc976339a057812c2693f3e44ae9288e5c13ebe1
Lịch sử trên Ethereum của địa chỉ gom tiền đó cũng cho thấy rằng vào ngày 1 tháng 9 có một lần chuyển giao hoàn thành thông qua Across cầu nối xuyên chuỗi.
Giao dịch giao nhận xuyên chuỗi Across ngày 1 tháng 9: 0xb56d3b900b5ac694d56d6efb9552a89fc0a14641eceefa7e16107cb8ccb0ea6d
Lúc 04:04 ngày 20 tháng 9, ví thứ hai nhận ETH dùng để trả Gas và khoảng một phút sau bắt đầu bán token.
Giao dịch ví thứ hai nhận tiền Gas: 0x4e8894823caaf8fefaf0849cf69b30148ae5ddcee9e7f9bd0c1be0dae0c720c2
Giao dịch ủy quyền ví thứ hai cho MetaMask Swap Router sử dụng 100.000 WMTX: 0x8fcaa005da0c1a5ab138898571e2974ba8aa8f0b9864381e5b2b98b81e702da9
Ví giao thứ hai lần đầu bán WMTX: 100.000 WMTX sau khi trừ các khoản phí MetaMask hiển thị được quy đổi thành 0,832455441 ETH: 0xcf4b119f38d0da10dccac787234e05c6cabe3440dfe303f4f407daa92ab8829e
Tài sản bị phân tán trong hai ví làm cho thống kê trong bài báo trở nên phức tạp hơn. Cảnh báo sớm của PeckShield đã coi đó là tài sản thuộc kẻ tấn công, với định giá 16,77 triệu USD, bao gồm 198,3 triệu AGIX, 649 ETH và 33,538 triệu WMTX.
Kết quả bán thực tế lại cho thấy sự khác biệt giữa giá trị ghi sổ và khả năng hiện thực hóa. Một giao dịch được định tuyến qua MetaMask và được thực hiện thông qua Mayan đã đổi 10 triệu NTX lấy được 940,39 USDT. Trong khi đó, ví thứ hai sử dụng lệnh trên UniswapX, với đối giá ETH do một bên thực thi lệnh thứ ba cung cấp. Hồ sơ quyết toán không cho biết các trình thực thi này đã huy động vốn ra sao, thực hiện phòng hộ như thế nào, hay cuối cùng đã xử lý lượng WMTX nhận được ra sao.
Giao dịch đổi NTX qua đường dẫn MetaMask/Mayan: nạp 10.000.000 NTX, 940,5087 USDT đến hợp đồng nguồn trên chuỗi Ethereum của Mayan, để thanh toán trên BNB Chain: 0xb6ecca4deeb2a616507a3f5779cb12db4fd986e5ee37c1832237fae2a1f1258f
CGV là ví dụ cực đoan nhất: bán 246,2 triệu CGV vào pool Uniswap của Cogito chỉ thu về 0,0123 ETH.
Giao dịch 246.200.000 CGV đổi lấy 0,0123 ETH: 0x69a28fb152b2b1b4158ec3db17f7baf565b644859a5150c38729bbb2d198bfad
Ngoài ra, 289.575,10 USDC đã được hợp đồng thanh toán chuyển đi cuối cùng đi vào ví thứ hai, trở thành một khoản thu lớn khác của stablecoin. Khoản tiền này không cần phải có được bằng cách bán token được đúc thêm.
Giao dịch chuyển 289.575,1047 USDC từ hợp đồng thanh toán tới địa chỉ trung chuyển: 0x869343d87a137a52aebce119c8c35e2fc3500205bf7a8c574ec2e8f4ab677c18
Giao dịch chuyển 289.575,1047 USDC từ địa chỉ trung chuyển vào ví thứ hai: 0xca9facda3f3629fa72ff98b4c8e663d3b415011979d749fab96ed9eda287e66f
Tính đến ngày 22 tháng 9, quá trình hoàn nguyên theo từng giao dịch cho thấy hai địa chỉ chính đã nhận tổng giá trị tương đương khoảng 742,7 ETH, cùng với stablecoin trị giá 362.075 USD. Thống kê này không bao gồm AGIX, WMTX, CGV và NTX vẫn chưa được bán. Việc quy đổi WETH và ETH theo tỷ lệ 1∶1 được sử dụng; số liệu này là tổng thu nhập chứ không phải lợi nhuận ròng.
Một phần đáng kể tài sản thanh khoản không ở lại trong hai ví chính này. Muộn nhất đến 00:00 ngày 21 tháng 9, ba ví khác nhau lần lượt gửi 75.000 USDC vào Chainflip, gửi 75.000 USDC vào Baltex, và gửi 118.015,16 USDC vào Chainflip.
Baltex mô tả dịch vụ của họ là không cần KYC và quảng bá một đường dẫn “bảo mật” liên quan đến Monero. Theo tiết lộ của AMLBot, một nhà môi giới của Chainflip đã từ chối một khoản tiền gửi ETH, và AMLBot gán khoản tiền gửi đó cho cùng một kẻ tấn công.
Giao dịch chuyển 75.000 USDC vào Chainflip: 0x3c8b12fedf147d82c8a5506edf3fcad4b7e25c8b96e4fb13b10cf2915aba0076
Giao dịch chuyển vào Baltex 75.000 USDC: 0x05d6d42c75356900e523116d34892b480e9f9134ba195db698d7b1448e0b0696
Giao dịch cuối cùng chuyển vào Chainflip 118.015,16 USDC: 0xea254b148da1a6d028050f3a59f87845e3dc177ca37ef6441c7eb6cff47eb8ed
Vào gần nửa đêm UTC, ví thứ hai gửi 93,70 ETH đến một địa chỉ nhận. Tất cả nguồn công khai được trích dẫn trong bài viết đều chưa xác nhận chủ sở hữu của địa chỉ đó. Khoảng 40 phút sau, ví gom tiền chính của kẻ tấn công lại thực hiện hai giao dịch chuyển khoản, mỗi giao dịch đúng 100 ETH.
Giao dịch ví thứ hai chuyển ra 93,70 ETH: 0x605d803890ae4eddc684f82f6de1a82c49a6a3f5646295c1a01fd897fa2a7577
Ví nhận: 0x2fD3285C93437077EF5FA6cecc367FD24d0fF726
Giao dịch mà kẻ tấn công chủ yếu gom ví để chuyển ra lô ETH đầu tiên 100 ETH: 0xa8511628388c330db78fcdcfe7af5577e1f300adee795b578508fb21203b4756
Giao dịch mà kẻ tấn công chủ yếu gom ví để chuyển ra lần thứ hai 100 ETH: 0x14399c61687de491461f76e961a91d2c0dcda4c6bb00ba332ec18b19d394822f
Sau đó, AMLBot mô tả hai lần chuyển tiền độc lập, mỗi lần 100 ETH. Nó cho biết một lần đã được đổi thành khoảng 266.000 USDC, rồi được chuyển vào “FXMR” thông qua CCTP, Arbitrum và Hyperliquid; còn lần kia sau khi bị nhà môi giới Chainflip từ chối, bị cáo buộc đã được đổi thành khoảng 3,28 BTC thông qua THORChain. AMLBot không công bố địa chỉ nguồn của các khoản tiền này.
Cả hai ví cũng xuất hiện các bản ghi chuyển “rải bụi” số tiền nhỏ và các bản ghi chuyển token giả mạo: địa chỉ gửi cố tình bắt chước địa chỉ của đối tác trong các giao dịch trước đó, phù hợp với đặc trưng của tấn công đầu độc địa chỉ. Nếu đây thực sự là mục đích thì hẳn là ai đó đang cố gắng ăn cắp thêm tiền của kẻ tấn công thêm một lần nữa.
Tính đến ngày 25 tháng 9, các ví chủ yếu dùng để gom tiền của kẻ tấn công nắm giữ khoảng 433 ETH, 15,94 WETH và 52.395 mUSD, khớp với số dư khoảng 433 ETH mà AMLBot báo cáo vào ngày hôm trước. Ngoài ra, ví này còn nắm giữ khoảng 198,3 triệu AGIX và 33,54 triệu WMTX. Ví thứ hai thì nắm giữ khoảng 18.109 USDC, 625,86 triệu AGIX, 166,49 triệu WMTX và 246 triệu CGV.
Giá trị thể hiện của các token này không đồng nghĩa với giá trị thực tế có thể bán. Chỉ cần lượng nắm giữ quy mô lớn như vậy được bán ra, có thể sẽ gặp rủi ro thiếu thanh khoản và cú sốc giá nghiêm trọng. Vấn đề thực sự không nằm ở việc giao diện hiển thị bao nhiêu trong số dư, mà là liệu có thể bán được bao nhiêu mà không làm thủng thị trường.
Theo việc hoàn nguyên từ giao dịch này, tổng giá trị thanh khoản đã được hiện thực hóa do hành động tấn công tạo ra vào khoảng 2,29 triệu USD. Các khoản tiền đã hiện thực hóa có thể chuyển đi, trong khi khoảng 1,27 tỷ token còn lại lại khó có thể hiện thực hóa theo cách tương tự. Nếu các vị thế này cuối cùng được bán ra, chi phí sẽ do ai chịu?
70% token đến từ việc đúc thêm trái phép
Giá có thể phục hồi, nhưng cấu trúc cung thì không thể tự khôi phục.
Bitquery trong quá trình đối chiếu xuyên chuỗi đã thống kê khoảng 1,28 tỷ AGIX, trong đó khoảng 895,96 triệu được đúc trong thời gian tấn công, chiếm 70,1% tổng lượng được thống kê; phần còn lại khoảng 382,65 triệu có thể truy ra từ nguồn cung trước cuộc tấn công. Cùng một phân tích cho thấy các token được đúc trái phép chiếm lần lượt 81,1% nguồn cung CGV được thống kê, 32,4% nguồn cung WMTX và 29,0% nguồn cung NTX.
Đợt đúc thêm NTX lần này khiến tổng cung xuyên chuỗi được thống kê tăng lên khoảng 1,41 tỷ token, vượt mức 1 tỷ token mà tài liệu của NuNet quy định. Khoảng 40,1 triệu NTX đúc trái phép đã xuyên chuỗi vào Cardano, trong đó khoảng 40 triệu đổ vào các pool thanh khoản thông thường. Lịch sử giao dịch có thể truy vết đường đi của các token đó, nhưng một khi chúng đã vào pool thì pool thanh khoản không thể phân biệt được chúng với NTX phát hành hợp lệ.
Vấn đề của FET không phải là đúc trái phép, mà là liệu cầu nối xuyên chuỗi có đủ khả năng chi trả hay không. Hợp đồng đổi trên Ethereum chịu trách nhiệm giải phóng FET đến từ Cardano đã bị rút cạn, trong khi trên Cardano vẫn còn khoảng 870 triệu FET. Theo phân tích này, kể từ khi tiền bị chuyển đi, chưa ai thử chuyển FET từ Cardano sang Ethereum, do đó chưa xảy ra tình huống người dùng phải chờ được thanh toán vì hợp đồng đổi bị cạn số dư.
Với NTX thì lại là một vấn đề khác: khoảng 40 triệu token đúc trái phép đã đi vào các pool thanh khoản thông thường trên Cardano, và mặc dù nguồn gốc không được ủy quyền, pool vẫn sẽ xử lý chúng như các NTX khác.
SingularityNET cho biết họ đã thu hồi quyền truy cập bị xâm nhập, tắt các cầu nối xuyên chuỗi và hợp đồng đổi bị ảnh hưởng, đồng thời tạm dừng chuyển AGIX và NTX trên Ethereum. Phía dự án cho biết các cầu nối xuyên chuỗi liên quan sẽ tiếp tục giữ trạng thái ngoại tuyến cho đến khi một cuộc kiểm tra an ninh độc lập xác nhận rằng có thể khôi phục an toàn. Bitquery thì phát hiện rằng tính đến ngày 20 tháng 9, trong số năm khóa của bên được ủy quyền vẫn có ba khóa chưa được thay đổi. Trong tình huống cầu nối xuyên chuỗi bị đóng, liệu các khóa này vẫn có thể bị lợi dụng hay không chỉ có thể được kiểm chứng thực tế sau khi vận hành khôi phục.
Đối với người nắm giữ AGIX, SingularityNET ban đầu cho biết đang xây dựng một “lộ trình xử lý tiếp theo hợp pháp và đã được xác minh” cho các holder đủ điều kiện. Sau đó, phía dự án thông báo sẽ ngừng hoạt động token AGIX ban đầu và phát hành token thay thế cho các holder bị ảnh hưởng, nhưng vẫn chưa giải thích ai là người đủ tư cách và cũng chưa nêu cách phân bổ token thay thế. Các chuyển khoản AGIX trên Ethereum vẫn đang tạm dừng.
Trong số AGIX được thống kê, cứ khoảng mười token thì có bảy token được đúc trong thời gian tấn công, nên việc xác định đủ tư cách vẫn là vấn đề khó nhất. Mọi phương án thay thế đều phải quyết định xử lý thế nào đối với các khoản nắm giữ sau khi bị đúc trái phép rồi luân chuyển qua giao dịch thị trường bình thường.
Fetch.ai cho biết hợp đồng của họ không bị ảnh hưởng. ASI Alliance xác nhận rằng 1,56 triệu USD FET trong hợp đồng đổi đã bị chuyển đi và cam kết công bố báo cáo đầy đủ. Nhưng đến thời điểm bài viết gốc được đăng, báo cáo đó vẫn chưa xuất hiện, cũng không có kế hoạch bồi thường nào được công bố cho người nắm giữ hoặc cho những người thực thi lệnh và nhà cung cấp thanh khoản đã trả tiền thật để mua các token đúc trái phép.
Chữ ký mà hợp đồng cầu nối xuyên chuỗi chấp nhận là thật và có giá trị. Hợp đồng kiểm tra chữ ký và thực thi lệnh, nhưng không xác minh liệu sự kiện xuyên chuỗi mà chữ ký đó khẳng định có thực sự xảy ra hay không. Việc đúc NTX của NuNet lại đi theo một con đường khác: kẻ tấn công trực tiếp sử dụng quyền mint của chính token.
Một liên minh hướng tới tầm nhìn AI phi tập trung lại để lộ các quyền đúc của bốn loại token, cũng như quyền giải phóng FET từ các hợp đồng đổi, nằm trong phạm vi mà một lần xâm nhập vào hạ tầng có thể chạm tới.
Nếu tương lai mà các dự án này mô tả là phần mềm có thể tự vận hành, thì phần mềm nắm giữ khóa lại được ai giám sát?
Cầu nối xuyên chuỗi và hợp đồng đổi chấp nhận chữ ký của bên ủy quyền được chỉ định. Trong quá trình đúc xuyên chuỗi, hợp đồng xem các chữ ký này như bằng chứng rằng sự kiện tương ứng đã xảy ra ở chuỗi bên kia, thay vì tự xác minh sự kiện đó. Việc đúc NTX thì khác: kẻ tấn công sử dụng quyền đúc của mình, trực tiếp gọi hàm mint() trong hợp đồng token.
SingularityNET cho biết một bên thứ ba không được ủy quyền đã truy cập một phần hạ tầng cloud của họ và nhờ đó đúc token qua hạ tầng cầu nối xuyên chuỗi để rút tài sản. Fetch.ai thì cho biết hợp đồng của họ không bị ảnh hưởng. Tuy nhiên, các tuyên bố công khai không giải thích cách kẻ tấn công có được quyền truy cập, cũng không mô tả chính xác những quyền đó đã bị lộ ra như thế nào.
Dữ liệu on-chain có thể truy vết các giao dịch được phép thực hiện bởi các quyền này, nhưng không chứng minh được kẻ tấn công đã lấy quyền truy cập như thế nào, cũng không thể xác định ai đứng sau đã đưa ra các quyết định an ninh liên quan. Bitquery phát hiện rằng các địa chỉ của năm bên ủy quyền cầu nối xuyên chuỗi trước đây chưa từng khởi tạo giao dịch, điều này phù hợp với mục đích của họ là dùng để ký thông điệp offline. Hợp đồng đã kiểm tra chữ ký.
Khi chữ ký được xem như một bằng chứng, ai sẽ kiểm tra điều mà nó chứng minh có thực sự đúng hay không?
