Nomic и allBTC на Osmosis: 40,65 BTC, которых 74 дня никто не замечал

PublicAML · Ончейн-расследование · 23 сентября 2026

25 июня 2026 года атакующий совместил две ошибки моста Nomic и выпустил на Osmosis 40,65 nBTC, за которыми не было ни одного биткоина. Заметили это только в сентябре. К тому времени около 18 BTC ушли через Axelar и Circle в Ethereum и — в первые три дня после взлома — в Tornado Cash: ровно 671,1 ETH. Остальные 22,65 так и лежат там, где их оставил атакующий, поэтому Osmosis и смогла их заморозить. Одна деталь без сомнений связывает адреса в Osmosis и Ethereum: за два дня до взлома адрес в Ethereum оплатил адресу в Osmosis газ.

40,65 nBTC

выпущено без биткоина за ними, 25 июня 2026

74 дня

никто не замечал — сеть остановилась 7 сентября

671,1 ETH

в Tornado Cash, 33 депозита, 25 и 28 июня

22,65 allBTC

до сих пор на адресе атакующего в Osmosis, заморожены

Что произошло

Nomic — сеть, выпускающая nBTC, биткоин-токен, который на Osmosis служит одним из резервов Alloyed BTC (allBTC). 25 июня атакующий совместил две ошибки механизма пересылки Nomic в одной транзакции и доставил на Osmosis 40,65 nBTC, под которыми не было заблокировано ни одного биткоина. Для любого пула такие nBTC ничем не отличались от настоящих. Osmosis обнаружила дыру только когда Nomic в начале сентября перестала выпускать чекпойнты, и 9 сентября заморозила allBTC. Оказалось, что около 36% allBTC ничем не обеспечены.

Один и тот же человек в обеих сетях

Адрес, получивший nBTC в Osmosis, — osmo1wq76r2mhqsa9yaygghuwyq4wy6dcsgf8vtzltn. Адрес в Ethereum, куда ушла выручка, — 0x8f36FD9FfC0a8cA373AA7A4787292536a489d2B5. В публикациях их просто ставят рядом; блокчейн говорит больше. 23 июня, за два дня до взлома, адрес в Ethereum отправил два небольших платежа в WETH через Squid, маршрутизатор Axelar, и оба пришли на адрес в Osmosis: газ, чтобы новый аккаунт мог делать транзакции. Через сорок минут адрес в Osmosis отправил пробный перевод на nomic1wq76r2mhqsa9yaygghuwyq4wy6dcsgf8cgz4wt — тот же ключ в сети Nomic. Атакующий заранее подготовил оба конца и ждал два дня.

Когда (UTC, 2026)ОткудаКудаСуммаТранзакция
23 Jun 02:020x8f36FD…89d2B5osmo1wq7…vtzltn2 × 0.01 WETH
газ для адреса в Osmosis, через Squid
0xf18adb…0f183f
23 Jun 03:01osmo1wq7…vtzltnnomic1wq…cgz4wttest transfer
тот же ключ в Nomic
9CDD3729…FC2D44
25 Jun 21:50nomic1wq…cgz4wtosmo1wq7…vtzltn40.65 nBTC
доставка необеспеченных nBTC
25 Jun 22:11osmo1wq7…vtzltn0x8f36FD…89d2B58 WBTC → 303.01 ETH
Axelar, обмен через Squid
468D435D…37EE82
25 Jun 22:14osmo1wq7…vtzltn0x8f36FD…89d2B51.5 WBTC → 57.10 ETH
Axelar, обмен через Squid
EF6FFD30…A30794
25 Jun 22:29osmo1wq7…vtzltn0x8f36FD…89d2B58.10 ETH
Axelar, обмен через Squid
F879A157…A1D1D7
25 Jun 23:24osmo1wq7…vtzltn0x8f36FD…89d2B5112,509 USDC → 71.15 ETH
через Circle, обмен в Ethereum
65BD688B…98BE8E
25 Jun 22:56–23:460x8f36FD…89d2B50xd90e2f…24F31b439.1 ETH
Tornado Cash, 26 депозитов
0x2df204…9bfbb0
28 Jun 18:33osmo1wq7…vtzltn0x8f36FD…89d2B56.16 WBTC → 232.40 ETH
Axelar, обмен через Squid
70DFD62F…182904
28 Jun 18:41–18:460x8f36FD…89d2B50xd90e2f…24F31b232.0 ETH
Tornado Cash, 7 депозитов
0x1aab9a…b730c2
17 Jul 22:44osmo1wq7…vtzltnosmo1wq7…vtzltn22.65 nBTC → 22.65 allBTC
обменяно на allBTC; заморожено
8305D3D4…1E8D7E

От фальшивых nBTC до Tornado Cash за три часа

25 июня в 21:50 UTC необеспеченные nBTC пришли на Osmosis. За 25 минут атакующий продал 18 из них за биткоин в обёртке Axelar в пуле 1868 — в самом пуле allBTC — и начал выводить: 8 WBTC, потом 1,5 WBTC, потом 8,1 ETH через Axelar, и на адресе в Ethereum Squid сразу превращал каждый перевод в ETH. Последняя часть ушла как 112 509 USDC через мост Circle и была обменяна на 71,15 ETH.

Депозиты в Tornado начались в 22:56, ещё до того как пришёл последний перевод: 439,1 ETH в 26 депозитах к 23:46. 28 июня атакующий вывел ещё 6,16 WBTC, получил 232,4 ETH и за восемь минут положил 232 ETH в Tornado. Всего 671,1 ETH — та самая цифра из публикаций, теперь с каждым депозитом за ней. На адресе в Ethereum осталось 0,575 ETH.

Почему 22,65 удалось заморозить

17 июля атакующий обменял оставшиеся 22,65 nBTC на allBTC и оставил их на адресе в Osmosis. Это и есть вся замороженная сумма: выпущено 40,65, около 18 выведено, 22,65 так и не покинули адрес. Изъятие через обновление сети возвращает права требования к пулу, а не биткоины — nBTC за ними были фальшивыми, — поэтому покрывать на самом деле придётся те 18, что ушли.

Газ для адреса в Ethereum, 0,037 ETH 22 июня, пришёл с 0x37EaF2AD33160Aaae7bdd1C6902c4a2862e1270D. Ни по одному признаку это не личный кошелёк атакующего: он получает разовые платежи от сотен не связанных адресов и платит во все стороны — так выглядит небольшой обменный сервис. Мы его не помечали и не считаем частью атаки.

Адрес в Ethereum помечен в PublicAML. Адрес в Osmosis приведён здесь, но риск-балл ему пока не присвоить: PublicAML не покрывает Osmosis.

Источники: данные Osmosis (публичные REST-узлы), записи Axelar GMP (Axelarscan) и данные Ethereum (Blockscout), считаны 23 сентября 2026 года; механизм взлома и цифра 40,65 — по заявлениям Osmosis и Nomic; адрес в Ethereum — как впервые опубликован в прессе об инциденте. Это информационный материал о транзакциях между адресами, а не финансовый или юридический совет, и он никого не называет виновным.