6 сентября 2026 года федерация Liquid выпустила примерно 3 996 BTC после того, как ее сеть приняла L-BTC, не обеспеченные биткоинами. Liquid — это сайдчейн биткоина, L-BTC которого предназначен для представления биткоинов, хранящихся в резерве федерации. Надлежащим образом авторизованный вывод средств превратил недействительное состояние сайдчейна в реальный платеж в биткоинах на сумму около 320 миллионов долларов США на тот момент. Лимит вывода средств до подписания федерацией мог бы прервать этот выход.
Генеральный директор Alpen Labs Симанта Гаутам теперь заявляет, что его ИИ-агенты отследили уязвимость и воспроизвели ее локально примерно за час. Работа началась после того, как он услышал об атаке 6 сентября. Его отчет от 22 сентября и технический отчет содержат подробное объяснение сбоя проверки доказательств. Демонстрация произошла после вывода средств, поэтому ее скорость сама по себе мало говорит о том, поднял бы постоянный ИИ-монитор действенное предупреждение до атаки.
Elements, программное обеспечение, лежащее в основе Liquid, кэширует успешные проверки криптографических доказательств, прилагаемых к конфиденциальным транзакциям. Изменение кода от 1 сентября пыталось сделать каждый кэшированный результат зависимым от всего контекста, влияющего на проверку, включая генератор актива и скрипт вывода. Alpen утверждает, что изменение объединило эти поля как необработанные байты без кодирования их границ. Таким образом, действительное «начальное» доказательство и другое, недействительное целевое значение могли привести к одинаковому входному значению для кэша.
В локальном воспроизведении Alpen свежая проверка отклонила целевое значение, в то время как затронутый оберточный механизм кэша принял его после того, как начальное значение заполнило кэш. Успешный поиск в кэше обошел проверку доказательств, которая должна была отклонить целевое значение. Два утверждения имели одинаковые входные байты для кэша, хотя они представляли разные запросы на проверку. Это было локальное воспроизведение предполагаемого сбоя консенсуса. Alpen заявляет, что точные бинарные файлы валидатора и содержимое кэша были недоступны, поэтому развернутый код и путь прямого заполнения были сильно выведены из исходного кода и данных цепочки.
SideSwap заявляет, что частная сборка безопасности, установленная на его собственном узле в августе, приняла транзакцию атаки. Этот отчет сужает вопрос развертывания для одного оператора, но не идентифицирует сборку каждого функционера федерации. 8 сентября исправление в Elements изменило ключи кэша для кодирования длин полей, добавило тесты, ориентированные на коллизии, и ввело опцию для обхода кэша диапазонных доказательств. 9 сентября последовала версия 23.3.4. Эти изменения устраняют проблему с воротами валидации до того, как недействительный L-BTC может стать принятым состоянием.
Авторизованный вывод все еще требовал отдельной проверки
Согласно отчету SideSwap, злоумышленник отправил 4 000 L-BTC в свою службу привязки в 14:05 UTC 6 сентября. SideSwap сжег токены с действительной авторизацией в 14:06. Заказ превысил собственные средства кошелька, что привело к двум неудачным попыткам вывода средств, прежде чем подписанты федерации выпустили 3 996 BTC в 14:28. SideSwap заявляет, что перевел 3 995,99999857 BTC на адрес клиента в том же блоке биткоина.
Принятый заказ показывает, почему действительный ключ был недостаточен в качестве проверки безопасности. SideSwap заявляет, что его ключ авторизации был онлайн, вывод средств был автоматическим, а его служба не имела проверок по размеру, скорости, относительному предложению, истории кошелька или ручной проверке. Федерация также подписала исключительный запрос после двух неудачных попыток. Лимит вывода средств или другая независимая блокировка на службе или в федерации, примененная до авторизации или подписания, могла бы остановить этот конкретный путь вывода средств, даже после того, как Liquid признал недействительное состояние.
Авторизационный ключ в автономном режиме создал бы паузу до того, как SideSwap одобрил бы привязку. Задержанная ручная переадресация сработала бы позже. Это могло бы оставить биткоины, выплаченные федерацией, под контролем SideSwap для возврата, но перевод резерва федерации уже произошел бы. Точное место действия защиты определяет, какой убыток она может предотвратить.
Результат Гаутама за час описывает ретроспективное расследование. Локальное воспроизведение демонстрирует, как кэш мог дать неверный ответ при оцененном коде; оно не измеряет шанс постоянного детектора обнаружить дефект до развертывания или предоставляет запись точного состояния производственного кэша. Исправленный валидатор мог бы отклонить недействительную транзакцию сайдчейна. Лимит вывода средств мог бы сдержать убытки, если бы другой дефект все же достиг моста. Контроль решает разные проблемы.
Liquid сообщил 17 сентября, что обычные транзакции возобновились, в то время как вывод средств оставался приостановленным. Компания заявила, что вывод средств возобновится только после подтверждения полного однократного обеспечения BTC и завершения необходимых обновлений программного обеспечения, тестирования и независимых обзоров. Открытым операционным вопросом остается, будет ли возобновленная привязка иметь независимую причину для остановки авторизованного запроса на сумму резерва до того, как биткоины покинут custody федерации.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Liam 'Akiba' Wright




