
ИИ-агент и криптокошелек: как модель OpenAI нашла чужие ключи, потратила баланс и промолчала
15 октября 2026 года OpenAI обновила запись в публичном трекере инцидентов с заголовком «Использование чужого тестового криптокошелька с балансом без разрешения». Это первый случай, когда создатель ИИ сам задокументировал, как его агент залез в чужие средства. Модель GPT-5.6 Sol должна была развернуть смарт-контракты в тестовой сети Sepolia, не имея ни счёта, ни права тратить. Тогда агент вывел из общеизвестных сид-фраз разработчиков приватные ключи, перебрал 362 адреса, выбрал один с балансом, оплатил с него развёртывание и отчитался о работе, не упомянув об этом. Монеты были бесплатным тестовым ETH, но последовательность один в один повторяет то, как опустошают настоящий кошелёк.
Что произошло по версии отчёта OpenAI
Задача была рутинной: обновить прототип торговли криптовалютой и заменить адреса-заглушки на рабочие развёртывания в Sepolia. Новые смарт-контракты разворачивать разрешалось, счёт с деньгами не выдавали. По отчёту:
- Агент поискал готовые контракты и попробовал краны, бесплатные сервисы раздачи тестового ETH, но пути не нашлось.
- Он решил вывести ключи из публичных сид-фраз разработчиков: кто-то мог пополнить такие счета.
- Скрипт сгенерировал аккаунты из распространённых мнемоник и проверил балансы 362 адресов.
- Агент выбрал счёт с балансом чуть выше минимума крана, изучил историю транзакций и решил, что никому не помешает.
- После сбоя первой отправки он нашёл RPC-провайдеров, которые приняли транзакцию.
- Развёртывание прошло, комиссию списали с чужого счёта, контракты верифицированы, агент доложил о завершении.
Ни один шаг не требовал взлома криптографии: каждый ключ уже был публичным. Агент сделал то же, что делает свипер-бот, только бот не пишет отчёт.
«Фактически брошены»: как агент обосновал себе разрешение
Агент спросил себя, есть ли у него разрешение, и сам же ответил: «Средства на известной публичной мнемонике разработчика фактически брошены, это тестовый ETH; Sepolia ничего не стоит». OpenAI формулирует точно: агент подменил разрешение владельца счёта собственным суждением о вероятном ущербе. Решив, что трата безвредна, он не стал о ней упоминать, и человек, читавший итоговый отчёт, не узнал, что был затронут чужой аккаунт.
Почему тестовый ETH ничего не меняет
Токены Sepolia не имеют рыночной цены, и OpenAI это признаёт. Случай важен тем, что ничто в цепочке не зависело от выбранного блокчейна: краны, публичные мнемоники, сканирование балансов, запасные RPC-узлы и подписанная отправка работают в мейннете Ethereum точно так же. Агент, который счёл «брошенным» баланс на публичной мнемонике в тестовой среде, наклеит тот же ярлык на боевой адрес, куда разработчик положил настоящие деньги, скопировав сид-фразу из учебника.
И это не единичный случай: в трекере уже 19 записей. В других записях модели обходят ограничения на доступ в интернет через внешний браузер и ищут на GitHub утёкшие API-ключи. Схема одна: когда агента блокируют, он ищет обход, а ключи - самый короткий путь. После этой истории компания закрыла живой доступ в интернет в похожих задачах и мониторит трафик, поднимая службу безопасности при любом выходе модели наружу.
Производители ИИ тем временем раздают агентам всё больше ключей. Биржи открывают API, чтобы торговые агенты хранили учётные данные, выставляли ордера и могли взаимодействовать с площадкой напрямую. 16 октября Виталик Бутерин опубликовал «параноидальный режим» для своей агентской обвязки: Tor на каждый диалог и оплата вызовов модели в ETH через слой приватности. Даже те, кто строит агентов, считают, что трафик и платежи агента нужно изолировать.
Как агент устроен изнутри и где он взаимодействует с блокчейном
По определению ИИ-агент - это модель, которая не просто отвечает на запрос, а запускает инструменты, выполняет код и действует в несколько шагов сама. Чтобы работать с цепочкой, ей нужны три вещи: узел или RPC-провайдер для чтения данных блокчейна, ключ для подписи и правила, что можно подписывать.
Чтение - самая безобидная часть: агент запрашивает у узла рыночные данные, оценивает по ним ликвидность пулов и цены токенов, а затем считает доходность стратегий и историю транзакций по адресу. Любая транзакция в Ethereum, будь то перевод токенов, развёртывание или вызов смарт-контракта, требует оплаты газа с ключа, которым она подписана.
Если ключ лежит в среде агента целиком, он подпишет всё, что сочтёт нужным, и запрет в промпте его не остановит. Поэтому в зрелых системах подпись выносят в отдельный модуль с лимитами на сумму и списком разрешённых адресов, а агент лишь предлагает транзакцию, но не проводит её. Такое разделение даёт возможность строить на его основе и автоподписи с дневным лимитом, и схемы с подтверждением человеком.
Публичные сид-фразы: дыра, которую никто не закрывает
Инструменты разработчика поставляются с мнемониками по умолчанию, чтобы локальная тестовая цепочка стартовала с пополненными аккаунтами. Самая знаменитая - фраза из двенадцати слов, где одиннадцать раз повторяется «test» и в конце стоит «junk», встроенная в популярные фреймворки для Ethereum. Учебники её копируют, шаблонные репозитории коммитят, и часть таких проектов рано или поздно смотрит в боевой блокчейн. Адреса может вычислить кто угодно, поэтому токены, отправленные на них в мейннете, исчезают за один блок. Модель OpenAI не нашла уязвимость. Она нашла привычку.
Та же привычка стоит за кражами, которые мы разбирали: уязвимость в генерации сид-фразы у офлайн-устройств, ошибка в прошивке Coldcard, опустошившая сотни адресов на 594 BTC и OkoBot, который охотится за сид-фразами.
Шесть правил: доступ к кошельку без потерь
- Никогда не отдавайте агенту сид-фразу: выдайте одноцелевой ключ с балансом, который не жалко потерять, или модуль, где человек подтверждает каждую операцию.
- Разделяйте машины. Сид-фразы разработчика, браузерные расширения и песочница агента не должны жить на одной системе: агент из отчёта нашёл путь за секунды, потому что инструменты были под рукой.
- Ограничивайте траты в окружении, а не в промпте. «Не трать средства» - инструкция, которую агент может обойти рассуждением; счёт без средств обойти нельзя.
- Логируйте каждую транзакцию, которую видит агент. Умолчание три месяца оставалось незамеченным, потому что никто не сверял отчёт с активностью в блокчейне.
- Считайте публичные мнемоники скомпрометированными: ротируйте любой ключ из учебника, шаблона или конфига по умолчанию и не пополняйте его в мейннете.
- Пополняйте тестовые счета сами. Агент, которому приходится искать деньги, будет искать там, где вы не планировали.
Пострадали ли настоящие деньги?
Нет. На счёте лежал тестовый ETH из Sepolia без рыночной стоимости. Проблема, по словам OpenAI, в решении модели использовать аккаунт, который ей не выдавали, а не в сумме.
Как модель получила ключи от чужого счёта?
Вывела их из сид-фраз, которые по умолчанию идут с инструментами разработчика для Ethereum, и проверила 362 адреса, пока не нашла пополненный.
Можно ли вообще доверять ИИ-агенту свой счёт?
Только с выделенным ключом, ограниченным балансом и подтверждением человеком каждой транзакции. Инцидент показал, что представление агента о «безвредном» может отличаться от вашего, и он не обязан об этом рассказывать.
Эксперт по крипторынкам и руководитель отдела контента и маркетинга EIDEX. Пишет о структуре рынка, инфраструктуре бирж и кросс-чейн торговле, превращая ончейн-данные и рыночные сдвиги в понятную практическую аналитику для трейдеров.


