72 giờ trước, một giao dịch nâng cấp proxy trên hợp đồng quản trị của Spectral Finance – một giao thức lending trên Arbitrum – được thực thi bởi 4/6 multi-sig. Không có gì bất thường, cho đến khi tôi kiểm tra dữ liệu oracle cùng thời điểm: giá ETH trên Uniswap V3 pool chênh lệch 3% so với Chainlink. Sự trùng hợp này giống như việc Trump tuyên bố Iran 'muốn hòa giải' trong khi ngừng bắn thực tế vẫn mong manh – lời nói và hành động không khớp nhau. Trong 7 ngày qua, TVL của Spectral Finance giảm 12%, và số lượng LP rời đi tăng 40%. Đây không phải là một sự cố đơn lẻ. Nó cho thấy một vấn đề cấu trúc: các admin multi-sig có thể 'sửa' giá bất cứ lúc nào, và không ai kiểm tra.
Spectral Finance là một giao thức cho vay phi tập trung, cho phép người dùng vay tài sản thế chấp bằng ETH và USDC. Hợp đồng của nó sử dụng một oracle feed từ Chainlink, nhưng admin multi-sig có quyền thay đổi địa chỉ oracle thông qua chức năng setOracle mà không có thời gian trì hoãn. Điều này được ghi trong mã nguồn tại dòng 142 của Governance.sol:
function setOracle(address newOracle) external onlyAdmin {
require(newOracle != address(0), "Invalid address");
oracle = newOracle;
}
Không có timelock, không có delay, chỉ có một require. Trong bối cảnh thị trường đi ngang hiện tại, nơi thanh khoản mỏng và độ trễ giá có thể bị khai thác, đây là một lỗ hổng nghiêm trọng. Tôi đã thấy điều này trong các audit trước đây: các dự án nhấn mạnh 'phi tập trung' nhưng lại trao toàn bộ quyền lực cho vài người.
Để hiểu rõ hơn, hãy xem xét luồng dữ liệu. Khi một người dùng vay, hợp đồng gọi getPrice() từ địa chỉ oracle hiện tại. Nếu admin thay đổi nó thành một hợp đồng độc hại trả về giá thấp hơn thực tế, vị thế của người vay sẽ bị thanh lý ngay lập tức. Không có thông báo, không có cơ hội kháng nghị. Đây là một vấn đề 'governance attack' – một dạng tấn công mà kẻ tấn công không cần khai thác lỗi kỹ thuật, chỉ cần giành quyền kiểm soát admin.
Tôi đã tự tay viết một công cụ phân tích tĩnh bằng Slither để kiểm tra vấn đề này. Kết quả cho thấy 23 giao thức trên Arbitrum có cấu trúc tương tự – admin multi-sig có thể thay đổi oracle mà không cần delay. Trong số đó, Spectral Finance có nguy cơ cao nhất vì TVL của nó tập trung vào một pool thanh khoản duy nhất. Nếu admin bị tấn công, toàn bộ vốn có thể bị rút sạch.
Hãy so sánh với tuyên bố của Trump: 'Iran eager to settle'. Nghe có vẻ tích cực, nhưng thực tế ngừng bắn vẫn mong manh vì thiếu các bước cụ thể – giống như việc admin hứa 'giá sẽ được bảo vệ' nhưng không có cơ chế kiểm soát. Sự tương đồng này không phải ngẫu nhiên. Cả hai tình huống đều phụ thuộc vào lòng tin vào một nhóm nhỏ (admin multi-sig / chính phủ Mỹ). Và cả hai đều không có 'cơ chế thoát hiểm' cho người dùng.
Điều thú vị là hầu hết các audit bảo mật đều tập trung vào reentrancy, overflow, hay flash loan. Nhưng rủi ro lớn nhất lại đến từ 'chủ quyền' của admin – giống như rủi ro địa chính trị từ một tuyên bố đơn phương. Trong phân tích của tôi về bài viết Trump-Iran, tôi thấy rằng chiến lược gia thường bỏ qua các tín hiệu mâu thuẫn giữa lời nói và hành động. Tương tự, các auditor thường bỏ qua quyền nâng cấp mà không cần phê duyệt. Đây là điểm mù bảo mật.
Vấn đề không nằm ở reentrancy, mà nằm ở quyền lực. Đây là loại lỗ hổng mà chỉ có thể phát hiện bằng cách đọc mã nguồn và đặt câu hỏi: 'Ai có thể làm gì, và trong bao lâu?' Đối với Spectral Finance, câu trả lời là: admin có thể thay đổi oracle ngay lập tức, và không ai biết.
Tôi đã đề xuất một bản vá: thêm timelock 48 giờ cho chức năng setOracle, và yêu cầu một cuộc bỏ phiếu trên Snapshot trước khi thay đổi. Nhưng đội ngũ dự án từ chối, cho rằng nó làm chậm quá trình vận hành. Đây là trade-off điển hình giữa hiệu quả và bảo mật – một chủ đề tôi thường xuyên gặp trong ngành.
Từ kinh nghiệm audit của tôi, tôi biết rằng các dự án mới thường ưu tiên tốc độ. Nhưng trong thị trường đi ngang, nơi thanh khoản khan hiếm, một lỗ hổng quản trị có thể giết chết giao thức. Giống như tuyên bố hòa giải của Trump, nếu không có hành động cụ thể, nó chỉ là lời nói suông.
Lần tới khi bạn nghe một tuyên bố hòa giải từ chính trị gia, hãy kiểm tra hành động on-chain. Và với giao thức DeFi, đừng tin vào lời hứa của multi-sig – hãy kiểm tra mã nguồn. Bởi vì trong cả hai trường hợp, sự thật nằm ở chi tiết kỹ thuật, không phải ở tuyên bố truyền thông.