Компрометация ключей LootBot: опустошено более 3 800 кошельков

Расследование КоинКит анализирует, как именно произошла атака и куда ушли средства.
Введение
LootBot — это сервис, который создаёт кошельки для пользователей и автоматически выполняет операции в блокчейне. Например, переводы между сетями, обмены и фарминг — получение наград за предоставление ликвидности. Для этого боту необходимо подписывать транзакции от имени пользователя.
Приватный ключ — это секретный код, который даёт полный контроль над криптовалютным кошельком. Кто владеет ключом — тот может распоряжаться средствами.
EVM-сети — это блокчейны, работающие по тем же правилам, что и Ethereum. Например, zkSync Era, Linea, Base и Scroll. В них используются одинаковые адреса и типы транзакций.
Ход инцидента
1️⃣ Злоумышленник получил доступ к инфраструктуре подписи LootBot. Это могли быть приватные ключи пользовательских кошельков или данные для подписи, которые хранились в системе сервиса.
2️⃣ Он начал последовательно опустошать кошельки пользователей. Одни и те же адреса очищались сразу в нескольких сетях: Ethereum, zkSync Era, Linea, Base и Scroll.
3️⃣ С каждого кошелька выводился практически весь доступный баланс. Оставался только минимальный остаток — буквально несколько центов — чтобы заплатить комиссию за последнюю транзакцию. Это называется gas — плата за обработку операции в блокчейне.
4️⃣ Всего было затронуто более 3 825 кошельков. Средства со всех них собирались на один адрес злоумышленника.
5️⃣ Характер операций указывает на полный контроль над кошельками. Злоумышленник выводил не только токены, но и нативные активы — основную валюту каждой сети. Обычное вредоносное разрешение на трату токенов (approve) не даёт таких возможностей. Это значит, что речь идёт именно о компрометации ключей или системы подписи, а не о простом мошенничестве с разрешениями.
Почему это стало возможным
LootBot создавал и управлял пользовательскими кошельками для автоматического выполнения операций. Для этого сервису требовалась возможность подписывать транзакции от имени пользователей. Это создало единую точку риска: все ключи или данные для подписи хранились централизованно.
Если злоумышленник получил доступ к этому хранилищу — он получил контроль сразу над тысячами кошельков. Пользователи доверили сервису управление своими средствами, а сервис не обеспечил должную защиту ключей.
Детали расследования: движение средств
Средства с тысяч пользовательских кошельков в разных сетях последовательно собирались на один адрес:
Общий объём похищенного составил около 252 ETH. На момент расследования средства остаются на этом адресе.
Заключение
Инцидент с LootBot показал, что централизованное хранение приватных ключей пользователей создаёт критическую уязвимость. Компрометация одной точки — системы подписи бота — привела к массовому опустошению тысяч кошельков одновременно. Пользователи не давали разрешений на отдельные операции — злоумышленник действовал от их имени, используя доверенные ключи.


