Ознакомился с тем, что пишет форклог. Походу они перепутали "божий дар с яичницей". Был "модифицирован" код смарт контракта Furucombo, а не хакнуто железо в виде прокси, если я все правильно понял.
У форклога прокси_сервер=смарт_контракт. Точка!
Ага, только вот форклог все правильно написал - атака была направлена на proxy smart contract Furucombo.
Подобные смарт контракты часто и называю своего рода прокси сервером.
Попробую грубо пояснить, что это такое:
Т.к. смарт контракты неизменны, иногда в них находят ошибки и уязвимости. И для того, чтобы исправить ошибку, пишется proxy контракт,
в который достаточно внести адрес нового-обновленного контракта. Proxy контракты применяют не только для этого.
Подробнее:
https://docs.openzeppelin.com/upgrades-plugins/1.x/proxieshttps://blog.openzeppelin.com/proxy-patterns/Но данная атака не имела бы смысла, если бы пользователи не допускали стандартную, частую ошибку:
А именно - не одобряли бы контракт(функция approve, часто пишется - разблокировать токен) на максимальную величину.
Хакер проанализировал адреса пользователей и снял токены, которые они одобрили контракту и снял их непосредственно с кошельков жертв.
Да, конечно не экономно одобрять контракт на конкретную сумму, т.к. в следующий раз вновь придется платить копейку.
Но это уже наши трудности, сам грешен.
Есть хороший ресурс, позволяющий взглянуть на то, кому и сколько мы наодобряли:
https://revoke.cash/Кстати там же вы сможете сделать отмену своих разрешений.