Тысячи, десятки тысяч эфировских самарт-контрактов содержат критические уязвимости. Исследователи обнаружили 34200 бракованных контракта. Всё бы ничего, но эти алгоритмы управляют различными приложениями, в том числе криптовалютными кошельками. Это значит, что денежки с таких кошельков могут испариться в любой момент.
В ноябре прошлого года разработчик смарт-контрактов для Ethereum, скрывающийся под псевдонимом DevOps199, наткнулся на критическую уязвимость в коде библиотеки эфировских кошельков. Он назначил себя «владельцем» этой библиотеки и (он уверяет, что сделал это случайно) уничтожил ее. В результате этого бага пользователи лишились крипты на сумму $150 млн.
В Ethereum таких контрактов сотни тысяч, но исследователи научились их распознавать. «Мы имеем дело с приложениями, которые имеют две очень неприятные черты: они управляют вашими деньгами, и они не могут быть изменены», — сказал Илья Сергей, доцент кафедры информатики Университетского колледжа Лондона. Илья с коллегами проанализировали более миллиона смарт-контрактов и обнаружили критические уязвимости в 34 200 из них.
Используя эти уязвимости, злоумышленники могут вывести с кошельков пользователей 4905 ETH ($4,4 млн). Из-за этих уязвимостей в сети уже заморожено 6239 ETH ($7,5 млн), причем доступ к 313 монетам потерян из-за уничтожения смарт-контрактов.
Всем было бы легче, если бы Сергей сотоварищи обнародовали список бракованных смарт-контрактов. Но исследователи делать этого не собираются, поскольку работа над этим проектом еще продолжается. Так сказать, думайте сами, решайте сами.