Криптовалютные проекты Initia и LNbits раскрыли новые подробности двух инцидентов в сфере безопасности. Initia подтвердила, что злоумышленник вывел около $3,27 млн после взлома облачной инфраструктуры, а команда LNbits предупредила операторов Bitcoin-кошельков: установка обновления 1.7.1 сама по себе не отзывает ранее скомпрометированные ключи и серверные учетные данные.
По данным Initia, атака произошла 9 ноября. Злоумышленник получил доступ к инфраструктуре через инъекцию команд с использованием скомпрометированного ключа Google Cloud Platform (GCP), который применялся для развертывания приватных узлов. Раскрытые переменные окружения позволили атакующему проникнуть в GitHub- и GCP-аккаунты проекта, после чего он получил контроль над платформой Anvil, используемой роллапами в экосистеме Initia. Это дало возможность провести поддельные межблокчейн-выводы (IBC) из пяти роллапов и разблокировать активы, хранившиеся на escrow-счетах Layer 1 Initia.
Из общего объема выведенных средств около $2,16 млн остаются заблокированными на приостановленном Layer 1 и не могут быть перемещены. Атакующий успел продать часть украденных активов на децентрализованной бирже Initia и вывести 13 400 TIA, 8 000 USDC.inj и 597 000 Noble USDC, упершись в лимиты исходящих IBC-переводов. Токены INIT при этом не выводились. Initia заявила о намерении полностью восстановить обеспечение пострадавших активов и перестраивает инфраструктуру с нуля в изолированной среде, ужесточая контроль доступа на всех уровнях. Это уже второй крупный инцидент за три недели: в конце октября проект потерял около $2,7 млн из-за уязвимости кэша скриптов MoveVM.
Параллельно команда LNbits опубликовала предупреждение, касающееся эксплуатации уязвимости, обнаруженной 8 ноября. Первым требованием было отключить расширение Paywall, затем операторам рекомендовали полностью остановить серверы. Обновление 1.7.0 вышло 10 ноября, а версия 1.7.1 — 11 ноября. Однако, как пояснили в проекте и подтвердили разработчики Start9, патч заменяет только ключ подписи аутентификации. Существующие сессии входа перестают работать, но ключи кошельков, учетные данные funding-источников и подключения приложений требуют ручного сброса.
В LNbits выделяют три категории секретов, которые обновление не затрагивает. Ключи кошельков — Admin-ключ позволяет тратить средства, Invoice-ключ дает доступ к балансам и истории платежей; оба остаются валидными до сброса оператором. Учетные данные funding-источника — LNbits не хранит биткоин напрямую, а передает платежи в LND, Core Lightning, Phoenixd или другой бэкенд. При этом удаление файла macaroon в LND не отзывает уже украденную копию: узел продолжает принимать ее, пока не изменен корневой ключ. Подключения приложений и устройств — POS-терминалы, Bolt Card NFC-карты, мосты LNDHub и NWC также сохраняют выданные ранее учетные данные до пересоздания подключения.
Рекомендованный порядок восстановления — начинать с чистого сервера, сохранив логи и базу старого, затем установить 1.7.1 до запуска остальных служб. Далее необходимо отозвать ключи на стороне бэкенда, ротировать root-ключ LND или эквивалентные ключи API, после чего выдать новые учетные данные LNbits, сбросить Admin- и Invoice-ключи каждого кошелька и пересоздать подключения. В LNbits подчеркивают: если после обновления старый ключ по-прежнему возвращает данные, значит отзыв не достиг проверяющей системы. Для пользователей размещенных инстансов ключевые вопросы — версия инстанса, факт сброса ключей кошелька после апгрейда и список подключений, требующих повторной настройки.
Оба инцидента усиливают давление на сектор криптобезопасности. В Initia восстановление сети займет больше времени, чем обычный перезапуск, а LNbits пока не раскрыла механизм эксплуатации, пообещав отдельный отчет. До его публикации операторам рекомендовано исходить из наихудшего сценария, при котором все сохраненные секреты могли быть раскрыты.