Писать код можно доверить AI, а кому можно доверить доменное имя (безопасность)?

Автор: Yajin
31 октября более десяти сайтов DeFi проектов были захвачены. Один из пострадавших проектов Kintsu опубликовал сообщение на X[1], в котором говорится, что его доменное имя, купленное через Vercel, было захвачено на уровне регистратора. В этом предложении есть два ключевых слова: одно — Vercel, другое — регистратор. Начнем с Vercel.
Vercel — это платформа для развертывания сайтов. Разработчики передают написанный код, и она отвечает за сборку и запуск, а затем через распределенные по всему миру серверы доставляет веб-страницы пользователям. Vercel также является компанией, стоящей за фронтенд-фреймворком Next.js[2], который популярен среди разработчиков, и большинство упомянутых проектов размещают свои веб-страницы именно на Vercel. Кроме хостинга сайтов, Vercel также продает домены, пользователи могут в одном и том же интерфейсе покупать домены и управлять их настройками.
Согласно нашим данным, код этих проектов, размещенный на Vercel, не был изменен, изменилось лишь направление домена.
Эта ситуация должна волновать каждую компанию, предоставляющую услуги, особенно поставщиков цифровых активов. В последние два года популярна концепция vibe coding, то есть описание требований на естественном языке, позволяющее ИИ писать программы. Это значительно снижает порог входа для разработки приложений: написанный ИИ код передается на платформы развертывания, такие как Vercel, Netlify, Cloudflare, и с помощью одной кнопки запускается, а также одновременно покупается домен, что позволяет за несколько минут получить приличный сайт.
Порог входа снизился, но принципы, стоящие за этим, не стали проще. Многие не понимают, где зарегистрирован домен, кто может изменить его направление и какие ключи для этого нужны. Vercel — это лишь один из типов платформ, эти вопросы актуальны для всех способов развертывания с одной кнопкой. Эта статья стремится объяснить эти вопросы как можно проще.
01 Как находится веб-адрес
Вернемся к тому, что сказал Kintsu о «регистраторе». Чтобы понять, чем занимается регистратор, нужно сначала разобраться, как находится веб-адрес. Мы можем представить веб-сайт как магазин. Домен — это название магазина, например example.com; IP-адрес сервера — это номер дома. Пользователь помнит только название магазина, поэтому нужно, чтобы кто-то перевел название магазина в номер дома, этот процесс называется «разрешение домена».
Процесс перевода включает три роли.
Регистратура похожа на главный реестр. У каждого суффикса есть своя регистратура, .com, .xyz, .finance — у каждого свое. Регистратура запоминает только одно: где находится «пункт справки» для данного домена.
Регистратор — это посредник, который действует от имени пользователя. Обычные люди не могут напрямую зарегистрироваться в регистратуре, они должны покупать домены, продлевать их и изменять регистрационные данные через регистратора. В интерфейсе регистратора пользователь может указать, какой «пункт справки» отвечает за его домен.
Сервер доменных имен (nameserver) — это и есть «пункт справки». У него есть таблица, в которой указано, какому номеру дома соответствует название магазина. Каждая строка в этой таблице называется записью разрешения. Когда говорят о «изменении разрешения», имеется в виду изменение этой таблицы на сервере доменных имен.
Когда пользователь вводит веб-адрес в браузере, браузер сначала спрашивает в главном реестре: где находится пункт справки для этого магазина? Затем он спрашивает в пункте справки: какой номер дома? Наконец, он находит номер дома и открывает веб-страницу.

Браузер сначала спрашивает регистратуру, затем сервер доменных имен, и в конце находит номер дома
Таким образом, если кто-то хочет обмануть клиентов и заманить их в свой фальшивый магазин, есть два способа. Первый способ — обратиться в пункт справки и изменить номер дома в таблице. Второй способ более скрытный: обратиться к регистратору и полностью заменить пункт справки на контролируемый им, а затем записать фальшивый номер дома в новом пункте справки. При использовании второго способа владелец магазина может проверить оригинальный пункт справки, и в таблице не будет никаких изменений, но клиенты уже будут перенаправлены.

Два способа: изменить таблицу в пункте справки или полностью заменить пункт справки на контролируемый злоумышленником
02 Кому принадлежит домен, купленный одним кликом
Поняв, что такое регистратура, регистратор и сервер доменных имен, вернемся к платформам развертывания, подобным Vercel. Платформы развертывания отвечают за размещение написанных программ в интернете. Чтобы упростить жизнь пользователям, многие платформы развертывания также включают покупку доменов и управление разрешениями в свой интерфейс, так что пользователи взаимодействуют только с платформой от начала до конца.
Но за платформой стоят все упомянутые роли. Некоторые платформы сами являются регистраторами, другие действуют как посредники, которые находят регистраторов для пользователей, Vercel относится ко вторым. Мы проверили домен Kintsu, и регистратором, зарегистрированным в реестре, является Name.com, а не сама Vercel.
Этот «универсальный» способ очень удобен, но цена в том, что пользователи часто не знают, что у их домена есть регистратор, и не заботятся о безопасности на уровне регистратора. Например, в Vercel в интерфейсе[3] можно изменить сервер доменных имен, а также получить код авторизации для переноса домена. Другими словами, кто владеет учетной записью платформы или имеет доступ к ее интерфейсу, тот может изменить направление домена или даже перенести его.
Многие проекты тщательно проверяют код и контракты, но домен находится под одной учетной записью, за которой никто не следит, и в случае проблем никто не знает, к кому обратиться.
В эпоху ИИ «один клик» превращается в «нулевой клик». Инструменты командной строки Vercel[4] уже поддерживают сценарии и ИИ-ассистентов, которые могут автоматически покупать и продлевать домены без человеческого вмешательства. Vercel также предоставляет интерфейс MCP для ИИ-ассистентов (стандартный способ вызова внешних инструментов), среди которых есть 28 инструментов, связанных с доменами и DNS[5]. Это означает, что разработчик может сказать ИИ: «Помоги мне запустить сайт и настроить домен», и ИИ может выполнить все задачи по покупке домена и изменению разрешений.
Разработчик экономит не только на кликах, но и на возможности понять эти этапы: на какой учетной записи зарегистрирован домен, какой регистратор стоит за ним, кто может его изменить — это, вероятно, никогда не проходило через его глаза.

Одним предложением ИИ уже купил домен и настроил разрешения
03 Где изменил злоумышленник
Согласно публичным отчетам[6], 31 октября количество упомянутых сайтов увеличилось до более чем десяти. Кроме Kintsu, также были StonkFun, Pickle, Echelon, Origami, Fluxbeam, Stakepoint, SupSwap, Longbow, SHPRD, ApeX DeFi и другие проекты DeFi.
Информация о регистрации домена является открытой, и любой может ее проверить. Мы проверили домены 11 проектов и обнаружили, что их регистратором является Name.com, причем у 7 из них 31 октября были изменения в реестре. По состоянию на 31 октября в 18:00 по пекинскому времени 5 доменов все еще указывали на серверы злоумышленников.
Злоумышленник использовал оба упомянутых способа. У pickle.finance[7] и stakepoint.app на сервере доменных имен Vercel все еще есть таблица, в которой указаны адреса серверов Vercel, что указывает на то, что их оригинальный пункт справки должен находиться на Vercel; но в регистратуре их пункт справки был изменен на серверы доменных имен Name.com в 1:00 UTC 31 числа, а новый пункт справки указывает на номер дома 31.56.52.52.
В другом случае, у fluxbeam.xyz, supswap.xyz и apexdefi.xyz пункт справки изначально находился на Name.com, регистрация в реестре не изменялась с февраля или мая этого года, но таблица в пункте справки сейчас также указывает на номер дома 31.56.52.52, что позволяет предположить, что изменена именно таблица. Этот адрес зарегистрирован на компанию под названием Snowcore[8], а IP-адрес зарегистрирован в Нидерландах, что не имеет отношения к Vercel.

Разные проекты указывают на один и тот же адрес, контролируемый злоумышленниками
У остальных нескольких доменов некоторые уже были возвращены на нормальные серверы, некоторые были перенесены к другим провайдерам, а некоторые находятся в процессе переноса, что, похоже, является попыткой проекта спасти ситуацию.
У обоих способов есть одна общая черта: необходимо иметь возможность вносить изменения на стороне регистратора. Злоумышленник получил доступ либо через саму Name.com, либо через взаимодействие между Vercel и Name.com, либо через учетные записи самих проектов, но публичные данные пока не дают ответа. На момент нашего запроса Vercel и Name.com еще не сделали публичных заявлений.
Kintsu в своем объявлении упомянул, что исправления не могут быть применены, что может быть связано с кэшированием. Разрешающие серверы по всему миру будут кэшировать информацию о пункте справки на некоторое время, обычно около часа. После того как проект изменит регистрацию, часть пользователей все еще будет использовать старые данные и продолжать перенаправляться в фальшивый магазин. Это наше предположение, которое еще не подтверждено.
04 Ключи — это не только пароли
Ранее упоминалось, откуда злоумышленник получил доступ к правам на стороне регистратора, и пока нет окончательного ответа. Независимо от того, где находится вход, возможность изменить домен сводится к определенному ключу. Когда речь идет о ключах, многие думают о паролях и кодах подтверждения. У тех, кто использует ИИ для написания программ и автоматизации развертывания, на самом деле есть другой тип ключей: токены доступа.
Токен — это строка символов, с помощью которой программа может представлять пользователя при вызове интерфейса платформы, не требуя пароля или кода подтверждения. Например, в Vercel при создании токена необходимо выбрать область прав[9]: он может управлять только одним проектом, всеми проектами команды или выбрать «всю учетную запись», получив полный доступ. Также необходимо выбрать срок действия, после истечения которого токен автоматически становится недействительным. Чем больше область прав, тем больше потери в случае утечки токена.
Способы утечки токенов разнообразнее, чем многие думают:
• Запись в код или конфигурационный файл. Токены могут быть записаны в код, отправлены в открытые репозитории или упакованы в фронтенд, и любой может их увидеть.
• Доверить AI помощнику по программированию. Помощник по программированию, чтобы помочь пользователям с развертыванием, будет считывать конфигурационные файлы проекта или напрямую получать токены, вставленные пользователем в диалог; через помощника, подключенного к платформе развертывания MCP, уже есть права на изменение доменных имен и разрешений. Эти данные будут отправлены вместе с диалогом, и если помощник прочитает изменённую веб-страницу или документ, он может быть вынужден выполнить нежелательные действия.
• Через промежуточную станцию. Некоторые пользователи, чтобы сэкономить или для удобства, не обращаются напрямую к интерфейсам AI-поставщиков, а используют сторонние «промежуточные станции». Все содержимое диалога проходит через промежуточную станцию, и если в нем есть токены, оператор промежуточной станции сможет увидеть это ясно.
• Подключение различных плагинов и интеграций. Каждое подключение третьего сервиса добавляет ещё одно место для хранения ключей.

Токены, которые могут изменить доменное имя, могут быть утечены из этих мест.
Следует отметить, что вход в это событие ещё не определён, мы не утверждаем, что оно вызвано утечкой токенов; просто в эпоху, когда написание программ AI становится всё более распространённым, токены, которые могут изменять серверы доменных имен и записи разрешений, стоит хранить так же тщательно, как и закрытые ключи.
05 Пять, почему захват сайтов, связанных с активами, особенно опасен
Обычные сайты, будучи захваченными, могут привести к тому, что пользователи раскроют свои учетные данные на поддельных страницах. Все услуги, связанные с активами, такие как биржи, кошельки, платежные учреждения, приложения DeFi, в случае захвата домена последствия часто более прямые: каждое действие пользователя на поддельной странице может привести к реальным потерям активов.
Цифровые активы особенно подвержены этому. Пользователь на странице DeFi нажимает «Авторизовать», «Обменять», «Заставить», веб-страница передаёт транзакцию в кошелек, и пользователь подтверждает в кошельке. Что именно передаётся веб-страницей, многие пользователи не понимают и могут только доверять самому URL. Захваченный URL может передавать транзакцию, которая авторизует токены для злоумышленника; подписав её, злоумышленник может в любой момент вывести деньги. Как только перевод на блокчейне завершён, его почти невозможно вернуть.
Платежные учреждения также подвержены этому. Пользователь заполняет номер карты и код безопасности на странице платежа или платит по адресу получения, указанному на странице; если поддельная страница изменит информацию о получении, деньги окажутся в руках злоумышленника. Пользователь видит тот же домен, страницу и процесс, что и обычно, и трудно это заметить.
На мой взгляд, внимание к безопасности в эпоху AI нужно немного изменить. Всё больше кода пишется AI, и команды сосредотачивают свои усилия на проверке кода и аудите контрактов, что не является ошибкой, но пользователю нужно пройти через регистраторов, регистраторов доменов, серверы доменных имен и платформы развертывания, чтобы добраться до сайта. Этот путь также является частью безопасности, и именно на этих этапах AI заменяет людей больше всего, а люди понимают их меньше всего.
Системы бэкэнда и контракты могут быть очень надежными, но если на этом пути будет взломан хотя бы один этап, пользователь окажется на поддельной странице и сам отдаст свои активы.
06 Шесть, советы для поставщиков приложений и цифровых активов
Узнайте, кому принадлежит домен. Проверьте, у какого регистратора зарегистрирован ваш домен, где находятся серверы доменных имен и кто управляет соответствующими учетными записями. Даже домены, купленные одним нажатием кнопки на платформе, нужно знать, кто стоит за ними.
Заблокируйте домен. Включите блокировку регистратора, чтобы предотвратить произвольный перенос домена. Важные проекты могут запросить блокировку регистратора, и при изменении ключевой информации, такой как адрес маршрутизации, требуется ручная проверка личности.
Защитите учетную запись и токены. Используйте аппаратные ключи безопасности для многофакторной аутентификации учетной записи. Токены должны иметь минимальные необходимые права и срок действия. Токены не должны записываться в код, вставляться в диалоги AI или проходить через неизвестные промежуточные станции. Неиспользуемые токены следует немедленно удалять.
Дайте AI помощнику отдельный ключ. Когда вы позволяете AI помощнику помочь с развертыванием, создайте для него отдельный токен, открыв только необходимые права для текущего проекта, и установите короткий срок действия. Операции, такие как покупка домена, изменение серверов доменных имен и перенос домена, должны подтверждаться человеком, а не выполняться автоматически AI.
Следите за изменениями. Серверы доменных имен, записи разрешений, статус домена — любое изменение должно вызывать уведомление. Злоумышленники, активируя HTTPS на поддельном сайте, обычно должны запрашивать новый сертификат для этого домена, а публично выданные сертификаты имеют публичные записи, мониторинг которых также может помочь рано обнаружить аномалии.
Заранее подготовьте план действий на случай чрезвычайной ситуации. Подумайте, как в случае проблем с доменом быстро уведомить пользователей и как найти реальную службу поддержки регистратора. Kintsu в объявлении жаловался, что служба поддержки — это всего лишь робот. В таких ситуациях заранее подготовленные каналы для общения с людьми могут определить скорость минимизации потерь.
07 Семь, чем проще запуск, тем яснее, кто держит ключи
AI упрощает написание кода, а также упрощает запуск, покупку доменов и настройку разрешений. Порог входа понижен, но ответственность не уменьшилась. Когда пользователь вводит URL, он передаёт доверие всей цепочке, стоящей за этим URL, а также каждому человеку и каждой программе, держащим ключи.
Эти этапы обычно невидимы и редко о них задумываются, но для пользователя они являются частью сервиса, как и код, написанный самим поставщиком. Если хотя бы один из этапов будет нарушен, пользователь будет считать, что это вина поставщика услуг.
Инструменты делают всё больше за нас, но мы всё ещё понимаем, какие ключи мы отдали?
Ссылки
[1] Публикация: https://x.com/Kintsu/status/2116382643017101513 [2] Next.js: https://nextjs.org [3] Интерфейс: https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar [4] Инструмент командной строки: https://vercel.com/docs/cli/domains [5] 28 штук: https://vercel.com/docs/mcp/vercel-mcp/tools [6] Публичные отчеты: https://cryptoadventure.com/stepdrainer-hits-12-crypto-sites-in-dns-hijack-wave/ [7] pickle.finance: https://rdap.org/domain/pickle.finance [8] Snowcore: https://rdap.db.ripe.net/ip/31.56.52.52 [9] Область разрешений: https://vercel.com/kb/guide/how-do-i-use-a-vercel-api-access-token












