6 ноября 2017 года компания Parity Technologies Ltd., занимающаяся разработкой кошелька Parity, опубликовала в блоге предупреждение, согласно которому, в библиотеке, отвечающей за работу смарт-контракта, который используют кошельки с мультиподписью, был обнаружен критический баг.

Разработчики объясняли, что уязвимость позволяла превратить проблемную библиотеку/контракт в обычный кошелек с мультиподписью, а затем стать его владельцем, задействовав функцию initWallet. Именно это случайно проделал некто, известный под псевдонимом Devops199.

Случайно (?) обнаружив баг и получив полный контроль, Devops199 отдал команду на самоуничтожение контракта, что вывело из строя множество кошельков с мультиподписью, а все средства на них оказались блокированы. Devops199 уверял, что не осознавал последствия своих действий, так как он новичок в области криптовалют вообще и Ethereum в частности.

Неделю назад на Pastebin уже был опубликован список пострадавших, в который вошел 71 аккаунт. Согласно эти расчетам, из-за бага оказались «заморожены» более 930 000 ETH, то есть около 300 000 000 долларов.

Вчера, 15 ноября 2017 года, разработчики Parity, наконец, опубликовали детальный отчет о проведенном расследовании инцидента. Согласно нему, разработчики знали о вышеописанной проблеме еще в августе текущего года, однако исправить ее, пока не стало слишком поздно, они все равно не успели.

Напомню, что проблемы Parity начались вовсе не в этом месяце. Эта история берет начало в середине июля 2017 года, когда неизвестные злоумышленники воспользовались багом в контракте с мультиподписью, что позволило им похитить средства из чужих кошельков Parity. В результате действий преступников тогда  пострадали все пользователи, имевшие дело с кошельками с мультиподписью, созданными ранее 19 июля 2017 года. В карманах похитителей осело 153 000 ETH, то есть порядка 30 000 000 долларов по курсу на тот момент.

Разработчики устранили использованную преступниками уязвимость уже 20 июля 2017 года, на следующий день после атаки. Увы, именно эти, сделанные наспех, изменения в коде и породили новый баг, который неделю назад заблокировал сотни миллионов долларов в кошельках пользователей.

Согласно опубликованному отчету, «заморожены» оказались не 300 млн долларов, как сообщалось изначально. Представители Parity пишут о 587 пострадавших кошельках и заблокированных средствах в размере 513 774 ETH (порядка 160 млн долларов по текущему курсу).

При этом разработчики признают, что пользователь GitHub, известный под ником 3esmit, предупреждал компанию о проблеме еще минувшим летом и даже предлагал способы ее исправления. Соответствующий комментарий действительно можно увидеть здесь. Представители Parity уверяют, что восприняли предложение пользователя со всей серьезностью и оценили его по достоинству, якобы в будущем Parity должен был получить соответствующий апдейт, однако написать и выпустить его разработчики не успели, Devops199  нашел баг раньше.

При этом создатели Parity до сих пор не придумали, как «вызволить» пострадавшие средства пользователей. Судя по всему, наиболее вероятными вариантами решения проблемы по-прежнему остаются хардфорк и EIP156.

Фото: Depositphotos

3 комментария

  1. john_

    16.11.2017 at 16:42

    И смешно и грустно

  2. Kyrdistan

    18.11.2017 at 17:00

    и чего некоторых не устраивает myetherwallet, железные холодные кошельки тоже никто не отменял…

  3. Nick

    18.11.2017 at 21:14

    Ну и кретины… судя по описанию, дырища просто очевидная, фикс тривиальный (вызвать функцию один раз), а времени был целый год. «Не успели» — дебилы, %%%;№ть

Оставить мнение