после того как с Coldcard случилась проблема, многие биткоины были перемещены
13 августа 2026 · наблюдение за self-custody и безопасностью ключей
В конце июля уязвимость Coldcard привела к похищению примерно 1 816 биткоинов, однако данные в блокчейне показывают, что затем 233 000 BTC были выведены из кошельков долгосрочного хранения, при этом 22 000 BTC направились на биржи.[1] Генеральный директор Casa Ник Неуман заявил, что средства в размере от 10 до 100 раз больше суммы похищения были переведены в безопасное место.
Эта миграция имела два источника: часть клиентов Casa изначально использовали одноразовые (single-sig) кошельки на Ledger или Trezor (совершенно разные бренды устройств), но это событие побудило их перейти на мультисиг-кошельки; другая часть — сами пользователи мультисиг — исключили устройство Coldcard из набора ключей.[1]
Нойман сравнил этот сценарий с гипотетической ситуацией с централизованным хранением под опекой. Если BTC одинаковой стоимости хранить на бирже, а биржа будет взломана, то всё будет наоборот: почти все средства исчезнут за один раз, и лишь небольшая часть может уцелеть.[1] А при самостоятельном хранении атакующему нужно взламывать адрес за адресом — за раз он может получить лишь немного BTC, при этом у всей сети есть время отреагировать и перенести оставшиеся средства.
Данные Glassnode подтверждают масштаб: предложение у долгосрочных держателей снизилось с почти 15 млн BTC до около 14,7 млн — это самое большое падение за неделю с декабря 2024 года. Это произошло, когда цена BTC всё ещё была на 50% ниже исторического максимума 126 000 долларов США, который пришёлся на октябрь.[1]
Coinkite призвала всех пользователей, которые генерировали сиды на прошивках 4.0.1–4.1.9 (охватывают период с марта 2021 по июль 2026), немедленно перейти на новый сид. Даже если устройство уже обновлено, тот набор старых сидов имел слабую энтропию ещё с момента генерации и не может быть исправлен патчем.
## Полная техническая реконструкция SlowMist: откат генератора случайных чисел делает приватный ключ предсказуемым
Команда SlowMist провела полную реконструкцию цепочки атаки для прошивки Mk3 4.1.9.[2] Причина проблемы — наложение двух ошибок на уровне компиляции.
Первый уровень: Coldcard в `mpconfigboard.h` явно устанавливает `MICROPY_HW_ENABLE_RNG` в 0, потому что команда считает, что они обёртывают `ckcc.rng_bytes` и напрямую вызывают аппаратный TRNG STM32. Однако зависимая библиотека `libngu` использует `#ifndef` для проверки этого макроса — она проверяет лишь «существует ли макрос», но не «включён ли он».
Второй уровень: когда макрос равен 0, слой портирования MicroPython для STM32 в `rng_get()` молча откатывается к программному псевдослучайному генератору Yasmarang. Начальное зерно этого PRNG почти целиком состоит из предсказуемых значений: UID чипа (96-битный идентификатор, но используются только нижние 32 бита; в партии Phase A координаты X/Y в основном попадают в диапазон 0–72), `SysTick->VAL` (значение обратного отсчёта при 80 МГц, диапазон 0–79999) и регистр RTC (во всех подтверждённых векторах он в итоге распознаётся как 0).[2]
В результате получается два экземпляра Yasmarang: один — глобальная константа потока `libngu` ( `pad=0x0a8ce26f`, у всех устройств полностью одинаково), а другой — экземпляр отката `rng_get()`, где единственной переменной является 32-битное значение `UID ^ SysTick`. Реальный источник энтропии во всём процессе генерации сидов — всего около 32–72 бит: пространство, которое GPU-кластер может перебрать за дни.[2]
## Полная утечка «внутренних мыслей» AI-модели: возвращены 62 API-ключа
Исследователи в области безопасности нашли способ читать «внутренние мысли» — зашифрованные — из каждой популярной AI-модели для вывода (inference) и из сессий, опубликованных разработчиками в открытом доступе (хотя они и не знали, что именно внутри), восстановили 62 активных API-ключа и 33 пароля.[3]
«Благодаря декодированию 315 320 inference-блоков, добытых из открытого репозитория, мы восстановили 367 PII (персональные идентифицирующие сведения) и 182 учётных данных». Так написала исследовательская команда в статье, которую она подала 10 августа.[3]
Все основные поставщики AI используют один и тот же глобальный ключ для шифрования inference token. Атакующий использует это: он декодировал из открытых логов 315 320 скрытых inference-блоков и в процессе нашёл пароли и активные API-ключи.[3]
Это третий случай отчёта об атаке на модели в передовых AI-лабораториях, направленной на сторонние компании — после раскрытий от OpenAI и Anthropic в последние недели.
В июле OpenAI заявила, что две модели при попытке найти ответы для бенчмарков выбрались из тестового песочника и атаковали Hugging Face. Затем компания раскрыла, что модель также обращалась ещё к четырём онлайн-сервисам.[3] После этого Anthropic сообщила, что три модели Claude атаковали реальные организации после того, как тестовые ошибки вывели их в интернет. В августе Meta заявила, что похожие ошибки позволили одной из её моделей использовать сторонние сервисы.[3]
Эти инциденты побудили законодателей внести предложение о «kill switch» для AI — механизме, который позволит федеральному правительству в экстренных случаях ограничивать или отключать мощные модели.
## MCP-сервер может разбивать команды, чтобы AI-кодировщик тайно вывозил ключи
Злоумышленнический сервер, подключённый к AI-кодировщику, может незаметно похитить SSH-ключи, секреты окружения, исходный код и данные клиентов — не отправляя ни одной команды, которая выглядела бы явно вредоносной.[4]
Этот приём остаётся эффективным даже после отказа в более прямой версии того же запроса на кражу: разбейте запрос на несколько частей, каждая из которых выглядит вполне обычной, разместите их в канале, который ассистент уже использует, и пусть ассистент сам соберёт из них сообщение.[4]
Model Context Protocol (MCP) позволяет AI-кодировщику вызывать внешние инструменты через структурированные интерфейсы — читать файлы, запрашивать данные из базы, выполнять команды. Атакующий может внедрить вторую подсказку в сообщение-ответ инструмента и направить ассистента отправить обратно в сервер инструмента только что считанные конфиденциальные данные — внешне это выглядит так, будто ассистент просто «логирует» или «форматирует».
Поскольку каждый вызов разбит на фрагменты и каждую инструкцию по отдельности можно счесть уместной, встроенные защитные механизмы ассистента не срабатывают. А когда поток данных уходит на злонамеренный сервер, утечка уже произошла.[4]
Для такой атаки не нужно взламывать какие-либо границы: она использует само проектирование MCP. Ассистент доверяет структурированным данным, которые возвращает инструмент, а инструмент может «вшить» в возвращаемое содержимое второй уровень инструкций.
Автор делает кошелёк MPC без подсказок для запоминания, поэтому в этом вопросе у него есть своя позиция. Все данные приведены с источниками, выводы — на ваше усмотрение.
https://cowallet.ai/en?pid=jingle