Расшифровка создана автоматически и отредактирована с помощью ИИ для удобства чтения, поэтому возможны ошибки.
(00:00:00) Александр Селезнев: Привет! С вами подкаст «Базовый Блок». Это подкаст про блокчейн и в последнее время немного про AI. Сегодня выпуск про применение искусственного интеллекта в блокчейн-делах. Номер 216. В гостях Игорь Гуламов и Александра Гуламова, основатели проекта Savant.chat.
(00:00:23) Александр Селезнев: Публичных материалов с ними в интернете немного, они не самые публичные люди. Зато в русскоязычной ветеранской блокчейн-тусовке авторитет команды Игоря и Александра очень высок: за вклад в развитие layer-2 на его зародышевом этапе, за Zero-Knowledge технологии и за многочисленные аудиты. Когда стало известно, что Игорь и Александра создали AI-аудитор кода, в аудиторской тусовке это вызвало большой интерес. Я знаю: ребята не делают bullshit, ребята деливерят сложные продукты и технологии.
(00:00:55) Александра Гуламова: Привет! Большое спасибо за приглашение.
(00:00:57) Игорь Гуламов: Привет.
(00:00:59) Александр Селезнев: Сегодня мы будем говорить про применение искусственного интеллекта в аудитах безопасности смарт-контрактов.
(00:01:02) Александр Селезнев: Чтобы выпуск получился глубже, я воспользовался тем, что являюсь кофаундером аудиторской компании Pessimistic Security, и позвал в качестве соведущего своего технического кофаундера Женю Марченко.
(00:01:14) Евгений Марченко: Всем привет! Приятно быть на «Базовом Блоке» после долгого перерыва.
(00:01:19) Александр Селезнев: Женя Марченко — практикующий аудитор смарт-контрактов уже больше восьми лет, также CTO компании Pessimistic Security, где мы применяем и Savant.chat, и другие AI-тулы безопасности в реальных аудитах. Перед тем как начнём, хочу поблагодарить наших патронов — тех, кто поддерживает нас на patreon.com/basicblockradio и boosty.to/basicblockradio. Огромное спасибо всем, кто нас поддерживает. И спасибо нашим спонсорам.
(00:01:33) Александр Селезнев: Компания 1inch: проект с 23 миллионами пользователей и оборотом около миллиарда долларов в сутки. По данным The Block, 1inch контролирует около 60% рынка свопов. Через 1inch можно выгодно обменивать токены между Ethereum, Polygon, Arbitrum и другими сетями, получая лучший курс и защиту от MEV-ботов. Обмены внутри Solana тоже уже работают.
(00:02:02) Александр Селезнев: Нас поддерживает Zerion. Zerion API — мощный инструмент для Web3-разработчиков: в реальном времени можно получать данные о кошельках, токенах, DeFi-позициях и так далее по нескольким десяткам блокчейнов, включая Ethereum, Solana и другие. В Zerion API есть всё, что может понадобиться: детальные, человекочитаемые транзакции, мультичейн, аптайм 99,9%, масштабируемость свыше 1000 запросов в секунду. API Zerion используют Uniswap, OpenSea, WalletConnect, Rainbow Wallet и другие компании.
(00:02:22) Александр Селезнев: Нас поддерживает Fluence — облачная платформа на базе децентрализованной инфраструктуры, более дешёвая и отказоустойчивая альтернатива традиционным облакам вроде Azure, AWS, DigitalOcean и Hetzner. С Fluence вы получаете доступ к глобальной сети независимых провайдеров, можете быстро запускать виртуальные серверы и разворачивать рабочие нагрузки по всему миру, при этом существенно снижаете расходы и не зависите от одного провайдера. Спасибо, Fluence.
(00:03:02) Александр Селезнев: Последний спонсор — GOSH, разработчик блокчейна Acki Nacki на новом протоколе, который достигает консенсуса за две итерации — самый быстрый из теоретически возможных. Рекомендую послушать наш недавний выпуск с основателем GOSH Митей Горошевским: получился достаточно хайповым и дискуссионным. Огромное спасибо, GOSH.
(00:03:25) Александр Селезнев: Перейдём к сути — к тому, что делают Игорь и Александра. Обычно мы начинаем с вопроса, как ты попал в блокчейн. Думаю, его можно по очереди адресовать Игорю и Александре. Ребята, вам слово.
(00:03:43) Игорь Гуламов: Я в блокчейн попал раньше. В целом я следил за биткоином, может быть, через год-два после релиза, но что-то по-настоящему крипто-нейтив делать я стал в 2017 году, когда Петр Королев собрал BankEx Foundation. Мы там делали разный ресерч, в том числе по масштабированию. У меня на ePrint несколько публикаций по плазме. Я был на последнем Plasma Call и примерно тогда нашёл критическую уязвимость в Plasma Prime, после чего плазма, по сути, закончилась. Потом эта история пересобралась как optimistic rollup, но это уже другое: доступность данных там гарантируется внешними протоколами. Так я попал в блокчейн.
(00:04:50) Александр Селезнев: Спасибо. Александра?
(00:04:52) Александра Гуламова: Я в блокчейн пришла несколько позже. Сначала немного помогала Игорю по ZeroPool и по другим нашим проектам, но это ещё не было про блокчейн как таковой. В плане блокчейна я немного помогала по ZeroPool. Проект стал развиваться, и получилось так, что потребовалось больше моего вовлечения именно в нетехническую составляющую. Так у меня и получилось активное вхождение в блокчейн сразу с ZK.
(00:05:20) Александр Селезнев: Соболезную.
(00:05:22) Игорь Гуламов: Было весело, по крайней мере.
(00:05:24) Александр Селезнев: Когда я готовился к выпуску, я слушал недавний подкаст cp0x с Игорем — вышел пару месяцев назад. Настоятельно рекомендую нашим слушателям, кому интересен путь Игоря, тот баг в плазме, как Ethereum Foundation поступил в той ситуации, больше про BankEx Foundation и ZeroPool. Если это интересно — послушайте тот выпуск, сам слушал с большим интересом. А мы, наверное, не будем повторять те же вопросы и больше времени посвятим безопасности, которую ИИ помогает достигать и которую ИИ же может разрушать. Разве что от себя задам пару вопросов, которые интересны, наверное, только мне. Но воспользуюсь служебным положением и задам их.
(00:06:21) Александр Селезнев: Игорь, правильно же я понимаю, что ты учился на физфаке МГУ и там же был в аспирантуре?
(00:06:27) Игорь Гуламов: Да, об аспирантуре. Так и есть.
(00:06:28) Александр Селезнев: Ты защитил диссертацию или нет?
(00:06:31) Игорь Гуламов: Нет. Примерно когда ушёл в блокчейн, защищать диссертацию не стал. У меня такая ситуация: есть публикации в рецензируемых международных журналах, а диссертации нет. У многих людей обычно наоборот.
(00:06:47) Александр Селезнев: У меня абсолютно такая же ситуация, поэтому мне и стало интересно задать этот вопрос. Не думаешь как-нибудь защитить, когда будет свободное время?
(00:06:56) Игорь Гуламов: А его не будет.
(00:06:58) Александр Селезнев: Второй вопрос, который я хотел задать. У нас пока такой блиц. Как думаешь, как так получилось, что BankEx Foundation собрал такой цветник талантов? По сути, выходцы из BankEx Foundation сделали огромное количество крутейших проектов: Matter Labs, Tornado Cash, кто-то ушёл в 1inch. Вы делали ZeroPool, сейчас делаете Savant.chat. Как так вышло?
(00:07:28) Игорь Гуламов: Я думаю, у BankEx Foundation была задача — актуальный research, который с одной стороны достаточно сложный, с другой очень новый. Там не нужно академическое погружение в историю за предыдущие десять лет, а нужно умение эффективно решать задачи в абсолютно новой сфере. Это привлекает людей, которые могут это делать. В 2017 году таких предложений в России было немного, в основном все шли делать токены. Поэтому в BankEx Foundation и собралась сильная команда. И у Петра есть определённые таланты и достижения в этой сфере — тоже важный фактор.
(00:08:33) Александр Селезнев: Ещё один вопрос, блиц продолжается. Про ZeroPool: много интересного Игорь уже рассказал в подкасте с cp0x, поэтому не будем очень глубоко нырять в историю ZeroPool, приватность и так далее. Отсылаю к тому подкасту. ZeroPool для наших слушателей — open-source проект, довольно олдскульный: вы делали его в 2019 и 2020 году, и он не стал коммерческим. Тем не менее, если я правильно понимаю, многие команды потом использовали ваши наработки в своей работе с приватностью. Я уверен, что ты до сих пор следишь за темой приватности в блокчейне. Возможно, это искажение моего информационного пузыря, но мне кажется, что сейчас приватность в Web3 — наверное, вторая по хайпу тема после AI. Что тебе лично, как техническому эксперту, кажется самым интересным в privacy прямо сейчас? Что с FHE, private smart contracts и так далее? Что из этого тебе интересно?
(00:09:52) Игорь Гуламов: FHE — сильная технология, но не для анонимных транзакций. Кто-то, может быть, пытается делать анонимные транзакции через FHE, но это не лучший инструмент: там ключ распределён между теми, кто что-либо вычисляет. В ZK этого нет. От trusted setup в современных протоколах давно отказались. FHE-вычислитель намного тяжелее, чем в ZK. В ZK сейчас можно доказывать очень большое количество расчётов за счёт рекурсии, а у FHE всё-таки больше множитель сложности на любые вычисления.
(00:10:44) Александр Селезнев: Какие проекты тебе кажутся самыми интересными в области privacy?
(00:10:55) Александра Гуламова: Если говорить о privacy, основной интерес для меня не столько в технологиях, сколько в legal-сфере. Парадоксально, но legal сейчас влияет на рынок privacy намного сильнее, чем любые технологии — именно legal тормозит прогресс в сторону privacy. Я не говорю, что нужна какая-то конкретная регуляция. Речь о том, чтобы она в принципе была, потому что последнее, что у нас было по регуляции, — письмо американских регуляторов о том, что privacy — это high risk. Оно было несколько лет назад, и что такое high risk, они толком не объяснили: «ждите следующих апдейтов», которых мы ждём до сих пор. У регуляторов получается полная свобода решать, что хорошо, а что плохо. Как только появится прозрачная регуляция, у меня такое видение: технологии сразу начнут очень быстро развиваться. У ZeroPool ещё есть что показать, у других проектов тоже. Я уверена, у Aztec более чем достаточно что показать. Как только на рынке появится прозрачная регуляция, будет очень много технологических апдейтов — интереснее, чем сейчас, и они пойдут очень быстро.
(00:12:19) Игорь Гуламов: Речь скорее не о том, что нужен кто-то, кто даст пермит или не даст. Нужно отсутствие произвола. Сейчас в чём проблема: с каждым privacy-проектом чиновник может делать всё, что в голову взбредёт. Это беспредел.
(00:12:40) Александра Гуламова: Именно поэтому мы ZeroPool не закрыли полностью — он на стопе до появления прозрачной регуляции в этой сфере.
(00:12:47) Александр Селезнев: А вы видите какие-то подвижки? Я не очень глубоко слежу за темой, но периодически в чате нашего подкаста, в ББ-чате, закидывают новости: собрался какой-то task force, обсуждают, что сажают институционалов на блокчейн, значит нужна банковская тайна, нужен гибкий privacy и так далее. Слово privacy звучит из уст людей в галстуках за дубовыми кафедрами, и от этого у меня ощущение, что подвижки есть. Но судя по тому, что вы говорите, они пока не выразились в конкретных актах.
(00:13:30) Александра Гуламова: Да, как я и говорю: всё началось и пока по сути чем-то осязаемым закончилось этим письмом американских регуляторов. Штаты всё-таки играют одну из лидирующих ролей в международной регуляции. И понятно, что при прецедентном праве кейс Tornado Cash будет иметь большое влияние.
(00:13:55) Игорь Гуламов: Я вижу эту историю иначе, чем «люди в костюмах и галстуках о чём-то договорятся». Договориться они могут максимум о том, что чей-нибудь кум или сват получит частный bill. О чём-то другом в таких вещах они договариваться не могут. Такие вещи решаются практикой вроде того, как в итоге разрешится ситуация с Tornado Cash. Это процессы не про правильность, а про то, как вообще решаются вопросы. Они не эволюционные, хотя иногда ведут себя революционнее. Нужно просто больше здравого смысла. Если его меньше, можно десятилетиями дискутировать о том, могут ли люди пользоваться ножами.
(00:14:53) Александр Селезнев: Давайте перейдём к Savant.chat. Начнём с разогревающего вопроса: откуда взялась идея сделать Savant.chat, как он появился?
(00:15:04) Александра Гуламова: Наша команда активно следила за тем, что происходит на рынке AI и за развитием моделей. У Игоря большой опыт аудитов, в том числе сложных и ZK-проектов. Мы периодически пробовали модели не ради запуска нового проекта, а чтобы понять, что они могут. Аудит — определённый стандарт в развитии сложных технологий. Если модели могут что-то в аудите, имеет смысл применять их и для разработки. Это своего рода экзамен для технологий. Около года назад мы заметили, что LLM доходят до стадии, когда уже могут что-то в аудитах. Мы поиграли с этим на онлайн-хакатоне. Результат нас удивил, и мы решили делать продукт.
(00:16:09) Александр Селезнев: Приятно удивил, я так понял. Хорошо. Расскажите, как устроен Savant.chat?
(00:16:19) Игорь Гуламов: Устроен он так. Мы разбиваем код на семантически корректные чанки, генерируем документацию по этим кусочкам и по проекту в целом. Берём RAG по документации, которую пользователь предоставил при аудите: это может быть crawling сайтов, GitBook, white papers. Устанавливаем связи между кусочками кода и документацией. Дальше закидываем их в агент-генератор гипотез. Гипотезы исследует агент-аудитор. Агент-критик отфильтровывает ошибки. Потом идёт дедупликация. Есть много более тонких архитектурных деталей, но в целом пайплайн такой.
(00:17:20) Александр Селезнев: Для пользователя на входе это выглядит так: он может закинуть в Savant код и документацию, которая у него есть. Дальше Savant делает то, что ты только что описал, и на выходе выдаёт аккуратный PDF-репорт со списком находок.
(00:17:35) Александра Гуламова: Мы делали это так, чтобы процесс для пользователя был максимально привычен и понятен. Мы учитывали и особенности Web3-коммьюнити: оно довольно интровертное и не очень охотно лишний раз общается с людьми, поэтому всё должно быть максимально автоматизировано. У нас максимально лёгкий вход на платформу и максимально лёгкий этап загрузки: ты просто загружаешь туда свой код практически любым удобным способом и получаешь репорт, который обычно получаешь после аудита в человеческих компаниях. Он тоже максимально приближен к этому формату. Для пользователя всё было максимально комфортно. Процесс, который немного отличается от стандартного аудита, — это CI/CD-интеграция: когда ты можешь подключить проверку для ongoing security и проверять код небольшими кусочками по мере подготовки релиза, там уже получаешь совсем быстрый результат, вплоть до баг-репорта в Telegram за 10–15 минут.
(00:18:43) Александр Селезнев: Я хотел бы спросить, как устроен пайплайн. Если я правильно понимаю, сначала код, как сказал Игорь, разбивается на кусочки и структурируется в соответствии с документацией. Кстати, как расшифровывается RAG, напомните?
(00:19:09) Игорь Гуламов: Прямо сразу не скажу. Могу много рассказать про то, как он работает.
(00:19:13) Александр Селезнев: Скажи своими словами, что это такое, чтобы мы сейчас не задерживались.
(00:19:16) Игорь Гуламов: Это построение такой системы. Мы берём данные и разделяем их на чанки. Для каждого чанка строим эмбеддинг — это вектор в многомерном пространстве, там может быть тысяча измерений. У нас есть эти чанки и наше сгенерированное описание для кусочков кода, для него мы тоже строим эмбеддинг. Потом смотрим в этом многомерном пространстве, какие кусочки ближе всего к тому, что мы ищем. После этого берём 100 ближайших кусочков и делаем rerank: закидываем в модель, которая для нашего запроса из ста, допустим, выбирает десять самых подходящих кусочков, и уже это попадает на вход модели.
(00:20:16) Александр Селезнев: Я притворюсь, что понял. Значит, у тебя есть несколько публичных моделей, которые генерируют гипотезы, потом эти гипотезы как-то отфильтровываются, дедуплицируются и попадают в отчёт. Вопрос такой: все ли так делают? Есть ли другие подходы к архитектуре AI-аудитора?
(00:20:40) Александра Гуламова: На самом деле на рынке есть несколько подходов. Кто-то делает просто wrapper вокруг одной LLM, особенно это заметно, как только выходит новая версия одной из Tier 1 моделей, которая более-менее хорошо работает с кодом и подходит для аудитов. Сразу появляется пачка новых AI-аудиторов с почти бесплатной ценой и максимально быстрым результатом, потому что по сути это работа одного промпта. И результат там соответственный. Другой подход — обучение своей модели на базе существующих уязвимостей, но мы по этому пути не пошли: люди умеют хорошо работать со своими стереотипами на наработанной базе, и мы верим, что AI ценен именно новым взглядом и новым подходом к работе с кодом. Так мы часто получаем в отчётах результаты, максимально не похожие на то, что находит человек и что человеческие аудиторы обычно считают уязвимостями. Не потому что человек плохо работает с кодом, а потому что у человека своя база, свой опыт, свои стереотипы и в какой-то степени определённые шаблоны мышления, как бы мы ни хотели от этого отходить. AI даёт абсолютно другой подход к коду.
(00:22:12) Игорь Гуламов: Есть наш подход и подход next-gen, когда агент может проводить эксперименты с работающим кодом, что-то где-то деплоить, подёргать. Над этим мы сейчас работаем, чтобы в следующем релизе очень сильно уменьшить количество false positive: их у нас достаточно мало, но всё же больше, чем в человеческих аудитах. Такой подход позволит радикально уменьшить их. Были тезисы, не помню, кто именно из AI-ресёрчеров говорил осенью. Хорошая архитектура — это не супер dense модель, которая в своих весах знает всё, а модель, которая знает принципы. Если ей на вход дать какие-то знания, она применит принципы к знаниям и будет выдавать качественный результат. Сейчас, кроме возможности проводить эксперименты с кодом в процессе аудита, мы делаем учебник по всем уязвимостям, которые были для нейросетей, при помощи нейросетей. Мы его планируем, наверное, даже быстрее, чем возможность выполнять код, прикрутить к Savant.chat. С ним нейросети, если они будут видеть код, пройдут и по типовым кейсам, не в ущерб тому, чтобы придумать что-то новое. Просто 95% того, что есть, — это всё-таки композиция старого, а не что-то новое. Это повысит качество для наших клиентов.
(00:24:10) Александр Селезнев: Ты сказал, что вы делаете операционный справочник для ИИ на тему того, какие уязвимости уже были. Если я правильно понимаю, вы же уже на чём-то дообучали модели, которые используете? На чём дообучали?
(00:24:28) Александра Гуламова: Нет. Поэтому я и сказала, что мы изначально не пошли в подход «обучить свою LLM». Сейчас мы заставляем разную комбинацию Tier 1 LLM думать над кодом. Наша архитектура такая: код видят в первый раз и анализируют с нуля, ища, где могут быть уязвимости и слабые места. Сейчас это дополнится учебником уязвимостей, но подход «каждый код смотрится с нуля, как в первый раз» останется. Учебник дополнит его, основной упор всё равно останется на нашем видении. Хотела как раз дополнить то, что сказал Игорь: более-менее уязвимости одни и те же. С одной стороны, для кода, написанного человеком, это действительно так и абсолютно валидно. С другой стороны, разработка движется к вайб-кодингу в разных видах, и не только к коду, написанному с нуля, но и к тому, когда очень опытные разработчики дополняют свою работу. У нас в команде это активно используется, и здесь AI может генерировать уязвимости, которые человек не генерировал, и нужен другой подход. Здесь как раз сильная сторона того, что наш AI смотрит на код со своей точки зрения.
(00:25:47) Игорь Гуламов: Говоря про разные модели, мы используем их сильные стороны. Модели от Anthropic неплохи в использовании tools, но слабы в STEM, зато хороши в творчестве. У моделей OpenAI с творчеством всё плохо, зато хорошо с instruction following. У моделей Google, Gemini, сильная фиксация: и с творчеством, и со STEM всё хорошо, но без специальных действий со стороны промпт-инжиниринга они выдают нестабильный результат, который существенно сложнее применить. Поэтому мы комбинируем разные модели для разных подзадач. Есть креативные задачи, есть задачи, где наоборот нужна не креативность, а тщательная проверка. Есть задачи агрегации результатов под разные цели — подбираем разные модели, чтобы обеспечить максимальное качество при минимальной цене. Мы также делаем запросы параллельно со скидками, активно используем batch-запросы, чтобы увеличить объём inference, доступный нашим пользователям для аудитов. То, что мы делаем, просто так не завайбкодишь — ни за вечер, ни за неделю, ни за месяц. Если использовать одну любую модель или даже две, результат будет хуже, а цена больше. Мы постоянно обновляем инструмент под новый релиз и проводим бенчмарк.
(00:27:41) Александр Селезнев: Окей, Женя?
(00:27:43) Евгений Марченко: Поправьте меня, правильно ли я понял: на вход, помимо данных от пользователей, идёт ещё огромный ваш подготовленный контекст — тот учебник, который вы сейчас делаете по уязвимостям и взломам, отчасти составленный AI, плюс, наверное, ваши инструкции в целом, промпты, подсказки, как пользоваться агентами, как взаимодействовать с кодовой базой?
(00:28:06) Игорь Гуламов: Это не кодовая база, это принципы. Мы собрали уязвимости, делаем по ним кластеризацию и используем Tier 1 модели, то есть SOTA-модели, чтобы очистить все эти уязвимости от контекста проекта, оставить только root cause и описание: что должно в проекте происходить, чтобы такое имело место. Потом с этими данными работаем, учебник получается таким образом — его пишет искусственный интеллект. Мы вообще уходим от парной работы человека и AI, как было этим летом. Сейчас переходим к процессам, когда инженер строит пайплайн, в котором AI может работать над решением. Смысл в том, что AI не только делает задачу, но и проверяет её: промежуточные проверки тоже делает AI. Есть критерии, по ним AI проверяет задачу. Если есть проблемы, возвращается назад, отправляет проблемы и делает дальше, пока не решит. Человек делает только окончательный приём. Говоря про эту базу, это очень большой объём вычислительной работы: нужно обработать при помощи нейросетей все уязвимости, которые когда-либо находили в смарт-контрактах, а перед этим их надо собрать. Искусственный интеллект с этой задачей отлично справляется. У нас небольшой стартап, три инженера, и мы можем себе позволить такие задачи. Ещё летом не могли, потому что AI — это колоссальное количество raw power, которое может делать гигантские объёмы интеллектуальной работы.
(00:30:26) Евгений Марченко: У меня ощущение, что последние пять минут звучит противопоставление человека и AI на разных уровнях. Например, ваш инструмент в основном полагается на AI, а AI думает иначе, чем люди, поэтому искать будут проблемы другие и по-другому. Хакеры, которые раньше искали всё руками и думали как люди, теперь тоже опираются на AI — он ищет другие проблемы. Код генерирует AI — снова другие проблемы. И база, учебник, который вы составляете, наверное, в основном из человеческих ошибок и найденных людьми уязвимостей, но обработанная AI. Как вообще выглядит эта динамика между человеком и AI, как сейчас может выглядеть баланс сил и как он меняется по мере того, как AI движется вперёд?
(00:31:18) Александра Гуламова: На мой взгляд, это изначально не очень продуктивный подход — противопоставлять человеку AI. Для меня речь исключительно о дополнении, и мы как раз говорим о том, что AI дополняет человека. AI даёт другой взгляд на код. Поэтому мы говорим об AI-аудите, и в том числе о Savant.chat. Это ни в коем случае не замена человеческого аудита. Это инструмент для ongoing-разработки, для подготовки к человеческому аудиту. Инструмент для быстрой проверки и для повышения безопасности аудитора именно в процессе разработки. Когда мы говорим, что вайбкодинг даст другие уязвимости, вайбкодинг действительно добавит новые, но человеческие никуда не денутся: значительную часть разработки по-прежнему пишут люди. Уязвимости, которые они вносят в код, от этого не исчезнут — к ним что-то дополнится. Поэтому нужен AI-аудит, который дополнит человеческий. И, как ты правильно сказал, это человеческие уязвимости, а AI дополняет тем, что их структурирует. Здесь речь исключительно о совместной работе AI и человека. Singularity is not here yet. По крайней мере, мы можем говорить только о взаимодействии человека и AI.
(00:32:52) Евгений Марченко: Я сам пользуюсь парой инструментов, включая Savant, для аудитов. Запускаю на всей кодовой базе, беру результаты, а ближе к концу ручного аудита смотрю их, когда уже разобрался в проекте, но хочу посмотреть на код с другой стороны. Savant особенно действительно по-другому думает, периодически удивляет — и это хорошо. Мне как аудитору приятно ещё раз подумать под другим углом, посмотреть на уже знакомый код. Это повышает мою уверенность, что я разобрал все сценарии, которые могут быть. При этом реальной возможности как-то взаимодействовать с AI у меня почти нет. Несколько каких-то инпутов на вход я могу подать. Я не разработчик, поэтому в основном просто передаю собранные материалы. На выходе тоже могу сказать: «Подумай об этом». Или: «Я вижу, ты сделал такое предположение, я понимаю, что ты вычитал документацию — это предположение неверное, подумай ещё раз». Это не упрек Savant: все тулы сейчас такие. Но мне как аудитору, может быть, не хватает интерактивности. Как вообще может быть устроено плотное взаимодействие людей и AI? Потому что сейчас этого пока нет.
(00:34:12) Игорь Гуламов: Это всё-таки больше похоже на построение технического задания — дать AI документацию. Возможно, после правки ошибок это какой-то реаудит уже с правками, когда по второму разу, с учётом всего этого, он работает. Именно на лету я не уверен, что что-то получится, потому что на серьёзных продакшн-скоупах это может быть сто тысяч запросов к LLM, которые идут на протяжении десяти часов и стоят десять тысяч долларов. Для Savant.chat это вполне нормальная история. По мере развития LLM это станет более адекватно.
(00:35:03) Евгений Марченко: Да. Тогда, может быть, там, где вы упоминали CI/CD в начале разговора, где-то может появиться интерактивность. Понятно, медленно. Но разработчики могут дать AI-тулам инструкции, чтобы они меньше сходили с ума, меньше галлюцинировали и меньше беспокоили пользователей на ровном месте.
(00:35:20) Игорь Гуламов: Конечно. Говоря про CI/CD, это, наверное, самое близкое к интерактивности. Людям не нужно, чтобы AI за счёт стереотипов и непонимания контекста долбил каждый раз о какой-нибудь фигне при каждом коммите. Он будет делать именно это, если не будет грамотно организованной обратной связи. Сейчас это можно сделать, внеся соответствующие записи в документацию и добавив dev-комментарий к кусочку кода о том, как он на самом деле себя ведёт. Тогда исправятся такие стереотипы у искусственного интеллекта, и он не будет долбить туда. Да, это не работает в формате ChatGPT, потому что ChatGPT — это парная работа, а тут решение подразумевает огромное количество ресёрча, больше, чем ChatGPT Pro. Сейчас 5 Pro делает автономный ресёрч сам, частично. Пока он делает этот ресёрч, он разве что показывает человеку свой reasoning. Но если человек посреди ресёрча увидел, что модель куда-то копает не туда, на тридцатой минуте он не будет дропать этот research, чтобы поправить чат. Почему? Потому что у него таких направлений research не один десяток. Понятно, что какие-то из них будут не самые лучшие, но какие-то будут лучше. Главное, что он потом выберет для референса, а что выбросит как мусор. У нас параллелизма больше и взаимодействия больше. Это такой DAG, который имеет несколько этапов и очень широкий — до сотни тысяч запросов к разным моделькам. В этом плане у нас меньше возможности показывать пользователю что-то осмысленное в процессе. Опять же, мы специально настраиваем модели так, чтобы они предлагали самые безумные решения, а потом фильтруем. Причём иногда могут быть зафильтрованы какие-то хорошие безумные решения, но поскольку их много, не все будут отфильтрованы — какие-то в репорт попадут. После этого в репорте можно что-то полезное прочитать. Но если человек будет вникать во всё это во время ongoing, это слишком большая когнитивная нагрузка. Человеку и так потом, может быть, трэжить пятьдесят листов А4 того, что написал искусственный интеллект. Мы работаем над этим. Я думаю, CI/CD — это самое близкое к такому интерактиву. Возможно, в будущем появятся какие-то механизмы. Может быть, можно будет сделать так, чтобы AI по тем моментам, которые ему не очень понятны, спрашивал у человека что-то. Мы про это думали. Но сейчас, к сожалению, у нейросетей, особенно с большой креативностью, которые нужны для поиска issues, всё крайне плохо со знанием о незнании. Они скорее что-то напридумывают. А что делать? Нам именно это их свойство и нужно, когда мы хотим, чтобы они что-то придумали.
(00:38:58) Евгений Марченко: Получается интересный комплекс проблем. С одной стороны, креативность. С другой — нельзя получить от человека оперативный контроль и фидбэк. CI/CD понятно. Но вот если один большой скан. Можно ли что-то из этого компенсировать использованием традиционных инструментов? Статический анализ, любой другой — всё то, что инженеры раньше пытались придумать, чтобы автоматизировать эту проблему, весь этот арсенал. Может ли AI эффективно им пользоваться и улучшать свои результаты?
(00:39:31) Игорь Гуламов: Когда мы выбирали, что делать, учебник по проблемам, мы думали завайбкодить фактически какой-то стат-анализатор — гигантский, похожий на Slither, но в котором есть всё. Но мы решили, что лучше делать его prose: словами описать, что может плохого происходить, а дальше нейросети это почитают и что-нибудь найдут. То есть это такой стат-анализатор. Мы внедряем его немного другим путём, не тем, которым обычно это делается. Говоря про инструменты, я думаю, что самое перспективное — формальная верификация. Даже когда мы говорим про обучение: так сейчас учат нейросети, которые решают математику — они используют формальную верификацию. Формальная верификация была раньше моделью искусственного интеллекта ещё до нейросетей. В середине XX века люди считали, что если научить компьютеры работать с логическими утверждениями, от этого и получится интеллект. Не получилось. Почему? Потому что растёт экспоненциальная сложность. Это дофигомерное пространство, в котором можно пойти куда угодно, а нам нужно из постановки задачи прийти к решению. Этот путь прокладывает нейросеть, но в нём могут быть ошибки. А вот логическая система, формальный верификатор, может доказать, что ошибок нет. И это делается быстро. Находится путь — тут как раз нужен искусственный интеллект, потому что сама из коробки система умеет только перебор. А перебор при экспоненциально растущей сложности — плохая идея. Зато готовый путь проверяется эффективно. Относительно смарт-контрактов, что это значит? Если научить AI-агентов пользоваться формальной верификацией, то вместо того чтобы нейросеть что-то думала на тему гипотез, ковырялась в коде и иногда галлюцинировала — а она будет галлюцинировать, потому что мы используем нейросеть в режиме максимальной креативности — мы берём креативную гипотезу нейросети и сразу прогоняем её в формальный верификатор. В итоге inference меньше, надёжности больше. Мы делали с этим эксперименты, эксперименты интересные, мы над этим будем работать и внедрим это в Savant.
(00:42:28) Евгений Марченко: Говоря про формальную верификацию в таком использовании: обязательно нужно полное описание всей системы контрактов, которые в скоупе, или можно формально проверять отдельные свойства? Детский пример — сумма балансов всегда равна total supply. Можно ли изолированно проверить вот это свойство с помощью этой математики?
(00:42:52) Игорь Гуламов: Да, конечно, можно. Как его правильно формулировать? Не так, что сумма балансов равна total supply, а так: когда у нас меняются балансы, изменение total supply равно изменению балансов — в тот момент, когда балансы меняются. Почему? Потому что это локальная история. После этого мы пробегаем по всем местам, где это есть, проверяем эту локальную историю и таким образом убеждаемся, что всё нормально. Ситуация, когда AI что-то упустил, абсолютно исключена, потому что мы разбиваем код на маленькие чанки и каждый чанк смотрим отдельно. Мы берём чанк и все его зависимости, но говорим модели, что исследуем именно этот чанк, а остальное — контекст. Если где-то что-то с балансами происходит, модель это заметит и построит описание для формального prover под каждый отдельный такой кейс. Потом это всё докажут, и мы получим большое утверждение, что сумма балансов всегда равна total supply. Это как раз про этот путь. Решать общую задачу, закинув её в формальный prover, если у нас куча сложных логик, — это сложность. А модель может декомпозировать эту историю. Модель может потом из этих кусочков составить и общее утверждение. Она берёт теоремы про каждую отдельную историю, а потом тривиально из них составляется большое глобальное утверждение. Это про то, как найти путь для решения задачи в многомерном пространстве, в котором можно писать математические утверждения.
(00:45:00) Евгений Марченко: Звучит как большая голубая мечта: один ИИ написал, другой прочитал, составил спецификации, верифицировал, доказал, что всё работает как надо. При этом у меня, может быть, интуиция подсказывает, что в пределе оно всё равно так работать не будет. Или всё-таки возможно, что когда-нибудь людей можно будет исключить из всего этого цикла, и всё будет магически срабатывать хорошо и без проблем?
(00:45:27) Игорь Гуламов: Чтобы ставить задачи, нужно понимать задачи, нужно понимать, что это такое. Я сильно сомневаюсь, что из этой истории как-то исключат инженеров, потому что не инженер вряд ли сможет эффективно обсуждать инженерные вещи с искусственным интеллектом и правильно ставить задачи. Если появится AGI, многое изменится, конечно, но это будет абсолютно другой мир, и там будет происходить много интересного. Если говорить до AGI, до ситуации, когда искусственный интеллект может выполнить любую человеческую задачу, инженеры точно нужны, потому что нужно ставить задачи. И инженер поставит задачу лучше, чем не инженер. А если мы рассматриваем мир, в котором AI может заменить любого человека, это уже совсем другая история, и там, наверное, проблемы не с инженерами.
(00:46:35) Александр Селезнев: Там уже вопрос, нужно ли тратить время на разработку AI-аудиторов, или можно уже не тратить на это своё время. Я хотел бы задать более общий вопрос. Следите ли вы за тем, как развивается кибербезопасность в разрезе AI вне Web3? Наверняка там работает кратно больше умных людей, чем в Web3. И наверняка там тоже есть чем вдохновиться, какие-то более общие подходы. Например, начать хотя бы с того, что у нас в Web3 в целом немного искажено восприятие того, что такое кибербезопасность, в сторону аудитов. Общая кибербезопасность в Web2-шном мире не так сильно завязана на человеческие аудиты. Даже с этого. Наверняка там сейчас больше используют AI и в других задачах, и в мониторинге, и в пентестах. Смотрите ли вы на это?
(00:47:43) Игорь Гуламов: Мониторинг интересен, смотрим на это. Всё-таки наш профиль — больше работа с кодом. Пентесты тоже интересны и перспективны. Я думаю, AI сейчас может эффективно заниматься и мониторингом, и пентестами. Есть много проектов, которые говорят, что работают и с кодом, находят неэффективный код или ошибки. В это я верю меньше, потому что вижу, как Savant работает в Solidity. Не так много проблем, где код часто максимально оптимизирован, где максимально исправлены ошибки. Чтобы найти что-то интересное, нужно реально потратить очень много inference, и для Web2 эти косты слишком дорогие. Но цена inference падает быстро, количество false positive тоже падает. Я думаю, мы придём к тому, что сможем аудировать и смарт-контракты, и Web2-проекты, делать формальную верификацию для Web2-проектов, и это будет работать. Разработка станет эффективной и без таких проблем. К этому мы рано или поздно придём. Пока же пентесты и мониторинг — основные направления, по которым искусственный интеллект может давать качественный результат.
(00:49:13) Евгений Марченко: Хочу вернуться обратно в Web3. В Web2 постоянно бывают zero-day, и я так понимаю, это обычно история про какую-нибудь библиотеку: у неё был баг или уязвимость, все ею пользовались, и теперь у всех проблемы. Все ждут патча и надеются, что их не коснётся. Web3 всё-таки устроен по другим законам. При этом я видел, вы пишете, что большинство взломов вы можете воспроизвести. Потенциально Savant мог бы предотвратить zero-day, которые у нас случались. Мог бы ты уточнить, что имеется в виду под zero-day в Web3? Что означает, что вы их воспроизводите? И в целом поговорить о том, как бы изменилась ситуация, если бы Savant запускали на каждом контракте.
(00:50:02) Александра Гуламова: Здесь имеет смысл немного дать общий ответ, прежде чем уходить в технические детали. Под воспроизведением zero-day мы имеем в виду, что мы нашли root cause. Savant нашёл место, где случился баг, откуда произошёл сам по себе хак. Это говорит о том, что если бы проекты вроде Abracadabra или Bunni protocol использовали Savant, мы могли бы предотвратить громкие хаки осени. Но нужно иметь в виду: мы не заявляем, что Savant воспроизводит 100% хаков. Валиднее говорить о том, что AI-инструменты используют не только для безопасности и усиления безопасности в разработке. Black hat хакеры тоже используют AI-инструменты. Savant как раз воспроизводит последние осенние хаки, которые сильно отличаются от того, что было раньше. Опираясь на то, что это отличается от прошлого и что Savant это воспроизвёл, мы можем говорить, что хакеры тоже начинают активно использовать AI-инструменты в своих целях. Поэтому неправильно говорить, что мы воспроизводим все zero-day. Значительную, возможно большую часть мы воспроизводим, но здесь есть свои нюансы.
(00:51:45) Игорь Гуламов: Во-первых, есть full exploit path — то, что сделал хакер, и есть root cause — строчка, в которой сидит reentrancy или arithmetic overflow. Но это не значит, что деньги будут украдены. Это ошибка в коде. Root cause — описание ошибки в коде изолированно, exploit path — то, как можно украсть деньги. Мы воспроизводим root cause, находим ошибку в коде. Очень часто мы не идём дальше или идём не туда, потому что Savant — штука для защиты, а не для атаки. Root cause найден — нас это уже устраивает. Можно было бы раскрутить до exploit path, но это опционально. Для валидации это, наверное, полезно. Сейчас мы работаем над тем, чтобы прикрутить execution кода. Это может быть полезно, докручивать exploit path, чтобы в концепте писать лучше. Написать proof of concept для arithmetic overflow на протоколе — тоже хорошая идея. Savant нашёл все root cause и достаточно много exploit paths. Иногда он пишет верное утверждение, как извлечь деньги, а не просто что там серьёзная ошибка. Это не значит, что Savant умнее людей. Скорее это значит, что хакеры используют искусственный интеллект, чтобы искать проблемы. Сейчас пошла волна хаков по closed source smart contract. Раньше мы брали декомпиляцию Dedaub, код выглядел грязно и нечитаемо, а искусственный интеллект может его восстановить. Он может посмотреть на декомпиляцию, сделать reverse engineering, потом fuzz-тестирование байт-кода с reverse engineering, чтобы убедиться, что это одно и то же. Потом в уже отреверсенном смарт-контракте он будет искать ошибки и применять их к байт-коду. В результате — уязвимости. Это намного дешевле, чем если бы люди ковырялись в байт-коде или реверсили каждый такой контракт. Если контракт не проаудирован, там есть хоть какое-то адекватное количество денег, сотни тысяч долларов, он под угрозой: его декомпилируют и исследуют хакеры своими инструментами. Security through obscurity не спасает.
(00:54:32) Александр Селезнев: Кстати, мы дадим ссылку на ваш пост, который, я так понимаю, вы вчера написали как раз на эту тему. Я сегодня читал, очень познавательно. От себя добавлю, что большое количество хакеров работает автоматизированно и давно. Я помню случаи минимум 2020 года, когда кто-то деплоил контракт, и его взламывали в течение пяти минут. Человек с глазами не успел бы всё посмотреть и придумать, что как. Хакеры давно работают автоматизированно. Хотел задать вопрос ещё про последнюю волну AI-взломов. Меня навела такая мысль. Есть подозрение, что многие недавние взломы старых протоколов — это AI-assisted взломы. Я знаю твою позицию, Игорь: от вайб-хакеров нам, условно, единственное средство — вайб-аудит. Если вайб-хакер может найти то, что человек не видит, защититься можно чем-то, что человеком не является. Позиция мне понятна и выглядит рационально. Но сегодня была другая мысль. Тулы тоже совершенствуются, AI совершенствуется. Она может делать то, что полгода назад не могла. А смарт-контракт ты один раз задеплоил — и живи с ним. Тулы будут совершенствоваться дальше. Мы разработали смарт-контракт, сделали прекрасный аудит с помощью AI-тулза, задеплоили. Прошло полгода, AI развился настолько, что может найти баг там, где его раньше не было. С моей точки зрения как-то страшно стало жить. Нельзя быть уверенным, что положишь деньги в какой-нибудь DeFi-протокол и полгода о них не вспомнишь. Раньше при наших Web3-особенностях можно было жить более-менее спокойно. По мере прогресса AI становится всё страшнее. Что ты можешь на этот счёт сказать?
(00:56:46) Александра Гуламова: Вернусь к своей точке зрения: AI дополняет человека. У нас есть примеры, когда довольно крупные протоколы прогоняли через Savant код, который уже лежит на проде, которым пользуются многие пользователи, и находили там уязвимости и слабые места. Это не помешало им их исправить. Код задеплоен — это не значит, что мы не можем его усовершенствовать и фиксить. Делать постоянно человеческий аудит очень дорого и долго, тем более если хакеры всё больше используют AI. Но регулярно прогонять свой код, в том числе через Savant, видеть уязвимости и что-то фиксить — вполне рабочее решение.
(00:57:48) Игорь Гуламов: Проекты будут регулярно аудировать свой код, особенно когда выходят новые модели, а мы буквально вкатываем их за несколько дней. Может быть, достигнем даже режима день в день. Соответственно, нужно просто сделать реаудит. Если это immutable смарт-контракты, у протокола один вариант — переезжать на следующую версию, это стандарт. Если контракт upgradeable, его можно починить. Только так.
(00:58:13) Александр Селезнев: Примерно то, что я на самом деле ожидал услышать. А какие примеры?
(00:58:15) Александра Гуламова: Сейчас, естественно, не буду называть команды, которые это делали, но по отзывам знаю, что ребята так делают. Прогоняют, как я уже сказала, существующий код, на котором живые пользователи, их много, видят уязвимость и просто её фиксят. Протокол становится безопаснее.
(00:58:44) Александр Селезнев: Вопрос про AI-аудитора как бизнес. Вы берёте с клиентов плату за аудит условно построчно. Одна из мыслей, которая сразу возникает: а не попытаться ли такую тулзу использовать наоборот — прогонять подряд весь видимый код, который заявлен на bug bounty, находить баги и репортить их? Почему вы так не делаете? Хакеры же делают: прогоняют код, что-то находят, хакают себе. Вроде в плюс это работает. Почему бы не направить этот вектор в белую сторону?
(00:59:26) Александра Гуламова: По первому пункту про то, что мы чарджим за строчку: это как раз сделано для того, чтобы у пользователя был максимально привычный и лёгкий путь использования продукта. По факту, конечно, чарджится не за строчку, там более сложное вычисление, и правильнее говорить «за токены», но для простоты и понятности мы говорим «за строчку кода». Если про bug bounty: стоит отметить, что Savant был первым AI-аудитором, который занял шестое место на Sherlock ещё летом, соревнуясь с людьми. Мы делали это не ради дополнительного финансирования, а чтобы посмотреть, как модель работает в том числе на таких площадках. Результат получился более чем впечатляющий. Savant — первое решение, которое достигло такого результата. Но мы сами как человеческая команда с этими площадками не работали и поняли в ходе эксперимента, что основная часть работы там — не сам аудит, а доказывание жюри, что это действительно баг, как это привести к краже денег и так далее. Savant этим не занимается, и чтобы полноценно этим заниматься, возможно, нужны отдельные люди. Для нас это не наш бизнес, но мы сотрудничаем с аудиторами, кто хочет участвовать. Мы об этом заявляли, есть примеры сотрудничества. Если кто-то хочет инструмент именно для white hat, может выйти с нами на связь — мы готовы поддерживать. Но сами считаем, что каждый должен заниматься своим делом. Если распыляться, результат основного продукта может просесть, потому что мы сфокусированы на решении для клиентов, а не для аудиторских площадок.
(01:01:49) Игорь Гуламов: Было много DeFi-хаков, связанных с нарушением инварианта, когда смарт-контракт manager shares между liquidity-провайдерами. Можно на несколько wei подсушить инвариант, а потом за счёт гигантского flash loan сделать эти несколько wei значимым процентом от баланса и так украсть деньги. Savant работает так: он найдёт, что инвариант можно сломать, а дальше — как повезёт. В текущем виде он out of the box не будет глубоко копать, к чему это приведёт. Уже сам сломанный инвариант попадёт в репорт. Code4rena поместит такой инвариант как low. Но это не значит, что value нет: если исправить все случаи, когда инвариант ломается на несколько wei, случаев, когда эти wei можно вырастить в миллионы долларов, просто не будет. Это более защитная тактика. Релиз, над которым мы работаем сейчас и который связан с экспериментами на коде, позволит делать более глубокие ресёрчи. Почему это может быть у кого-то, а у нас нет? У нас очень строгое требование — простота использования и автономность. У многих конкурентов AI по факту запускает и тонко настраивает их команда. У нас такого нет. Если собирается более хрупкий, кастомный pipeline, можно руками настроить специфику проекта и в целом получить больше. Но это снова про результат на практике. По идее так можно получить больше, но мы этого не видим. У решений, которые так делают, иногда что-то про них просачивается, но чаще всего это маркетинг про какие-то секретные штуки.
(01:04:16) Александр Селезнев: Это как раз к моему следующему вопросу. AI-аудиторов сейчас делает очень много кто. Много кто в нашем Web3 cyber security уже зарекомендовал себя как бренд и пытается пивотиться в такой продукт. Immunefi, Sherlock — много кто. Где ваше неконкурентное преимущество перед этими игроками? В чём секретный соус?
(01:04:46) Александра Гуламова: У нас Sparta, у нас нет стены. То есть у нас нет секретных соусов — исключительно надёжная архитектура и уверенный результат. Мы как раз не играем в маркетинговые игры в духе «давайте сделаем 150 звонков, настроим для вас, а через пару дней вы увидите результат AI по коду» — такое есть на рынке, причём у довольно крупных игроков. Или «у нас секретный соус, с помощью которого вы получите результат». Нет, мы за максимальную прозрачность. Архитектура сложная, мы используем сильные стороны Tier 1 решений на рынке, и это даёт стабильно лучший результат, что подтверждают множественные бенчмарки. Это не маркетинговое заявление — вот результаты. AI-инструменты для аудита на рынке новые, люди проводят бенчмарки из интереса, и о многих мы узнаём постфактум вместе с широкой аудиторией: кто-то бросает ссылку — «ребят, у вас снова бенчмарк». Здорово.
(01:06:02) Игорь Гуламов: Когда я говорил, что некоторые конкуренты на Code4rena показывают лучший результат, это не значит, что мы находим меньше. Просто у нас больше wide research, у кого-то — deep research. Если речь про аудиты, мне кажется, wide research лучше. Почему? Если мы нашли хотя бы medium ошибку, а нарушенный инвариант — это как минимум medium, не low, это должно быть исправлено. А если исправлено, уже не так важно, насколько глубоко копали. Да, совершенно правильно — он не будет совершенен. Но кто-то делает решение именно для контестов или bug bounty, там нужен более deep research. Мы это собираемся делать, но не в контексте bug bounty, а в контексте false positive. Такое решение уменьшит ещё больше false positive в наших отчётах, поэтому мы над этим работаем. Говоря про аудиторов, которые каждый делает свой AI: такое решение — серьёзная работа, это не работа для аудиторов, это работа для билдеров. Нужно быть билдером, который умеет в аудиты, а не аудитором, который решил что-то побилдить.
(01:07:33) Александра Гуламова: И здесь мы не про конкуренцию, а про то, с чего я начинала, когда говорила про bug bounty-платформы: каждый должен делать свой бизнес и то, в чём его сильные стороны. Мы видим, что аудиторы, которые делают свои AI-продукты, приходят и используют наш инструмент тоже. Это тоже о чём-то говорит. Если возвращаться к bug bounty-платформам, мы сотрудничаем с аудиторами, и каждый делает свою часть. Мы даём AI-решение, аудитор применяет свой опыт для результата.
(01:08:17) Александр Селезнев: Обращение к white hat хакерам. Ребята, мы, наверное, ставим контакты команды Savant.chat в шоуноты к этому выпуску. Если вам интересно поработать с Savant.chat в этом направлении, законтачьте их. Интересный для меня бизнес-вопрос: оценивали ли вы размер контракта смарт-контрактов? Александра уже сказала, что вы чарджите не совсем за строку, но возьмём грубую метрику. Если посчитать, сколько в год пишется строк смарт-контрактного кода и сколько деплоится, и умножить на ваш ценник, получается ли венчурный рынок — интересный, условно? Если представить, что все проекты будут пользоваться AI-аудиторами, это вообще интересно для вас как для стартапа?
(01:09:10) Александра Гуламова: Интересно, и здесь я сразу поправлю assumption. То, как называется LLM, даёт основания говорить, что AI-аудиторы, в частности Savant со своей архитектурой, не ограничены только Web3. В планах — вторая половина 2026 года — выход на Web2, потому что там с аудитами сложнее: general языки программирования труднее поддаются человеческому аудиту, в голове нужно держать намного больше. Подход Savant как раз решает эту проблему. Если говорить про венчур, подход намного шире. Плюс на рынке есть аудиторские компании с несопоставимо более слабыми результатами, чем у Savant, которые успешно прошли этот путь и рейзнули.
(01:10:10) Игорь Гуламов: Мы как-то замеряли Agent Lisa на CTF Bench. Там было прям печально. У них больше 10 миллионов, вроде.
(01:10:20) Александра Гуламова: 12. Интересно складывается венчур. У Lisa самые слабые результаты — они рейзнули 12 миллионов. Octane, у которого тоже скромные результаты, но хотя бы лучше, чем у Lisa, рейзнули 6 миллионов. А решения с самыми сильными результатами — не только Savant, там есть и сильнее Octane — не рейзнули ничего.
(01:10:47) Игорь Гуламов: Есть ещё Almanacs, который по бенчмаркам похуже Nethermind и Savant.
(01:10:50) Александра Гуламова: Да, но лучше Octane, и они рейзнули, по-моему, миллион или три — по-моему, миллион.
(01:10:59) Александр Селезнев: Мне кажется, из этого можно сделать вывод, что качество продукта на венчурном рынке не принципиальная переменная.
(01:11:06) Александра Гуламова: Видимо, да. Закономерность была интересна: чем сильнее продукт, тем меньше рейзнули. Lisa, которая рейзнула больше всех, не справилась с тем, с чем Savant справлялся на запуске, на первых результатах ещё год назад. Это уязвимость, про которую уже знают нейросети, потому что zero-shot. Если спросишь general AI, про неё скажут, а Lisa — нет, при том что рейзнули 12 миллионов.
(01:11:40) Александр Селезнев: Это, конечно, нужно прожевать мозгом. Возможно, венчуры оценивают скорее сейчас что-то другое. Может быть, они подразумевают, что построить такой продукт не так сложно, как его продать, и видят, что люди удачно продают.
(01:11:55) Александра Гуламова: Я думаю, здесь как с любым агентом. Если говорить про более general AI-агенты, не знаю, в повседневном использовании, часто это может быть несложный wrapper. Отстраняясь от security: построить агента для бронирования билетов или для календаря — ничего сложного. Так же, думаю, они смотрят на рынок аудитов и считают, что если это AI-агент, то строится это довольно просто. Есть особенности.
(01:12:32) Игорь Гуламов: Люди могли полгода назад обучить свою нейросеть на базе Llama 3 или даже DeepSeek R1. Когда видят, что можно обучить свою нейросеть, это производит впечатление. Мы этим не занимаемся, потому что я слишком много кейсов читал, когда выходят новые ChatGPT или Gemini и пишут: мы сравнили специализированную медицинскую нейросеть, обученную на медицинском датасете полгода назад, с общей нейросетью — и она outperform'ит ту, которую врачи собирали. Что это значит? Нужно брать интеллект от лучших решений, доливать in-context learning своей специфики, грамотно спроектировать контекст — и всё будет. Вместо забега с Google лучше взять то, что Google может дать.
(01:13:35) Александра Гуламова: Да. Сейчас часто говорят про риски: не боитесь ли вы, что AI вроде Gemini и OpenAI станут настолько сильны, что смогут давать результат по AI-коду. Мой ответ: нет, мы не боимся, мы в какой-то степени, возможно, к этому стремимся, потому что используем их сильные стороны. Для нас это значит: чем сильнее каждая модель, тем сильнее наше решение на рынке и тем лучший результат мы даём пользователям. Даже Tier 1 LLM сохраняют свои особенности и специфику. Как Игорь говорил в начале подкаста, каждая сильна в чём-то одном. Часто это меняется, но своя специфика сохраняется, и мы используем эти сильные стороны в нашем решении.
(01:14:22) Игорь Гуламов: Я брал, например, релиз от Trail of Bits — Skills для Claude Code. Что могу сказать? Это действительно сильное решение. На CTF-bench из семи сэмплов в шести найдена причина. В одном не найдена: там лишний делитель в ряде Тейлора, причём в таком месте, где человек тоже мог бы его написать. У моделей Anthropic, как обычно, с математикой несколько слабее, как у них и было. Надо использовать разные модели, сложные пайплайны. Решения на одной модели, даже state of the art для разработки, даже если дать возможность писать proof of concept по этим skills, всё равно будут проседать. Agentic framework важен, но важен и интеллект, причём разноплановый. Мы берём этот разноплановый интеллект и делаем из него пайплайн, в результате которого находятся разные ошибки: архитектурные, бизнесовые, криптографические и математические.
(01:15:37) Александр Селезнев: Меня сейчас озарило: если пользоваться понятными мне DeFi-аналогиями, вы делаете не DEX, а DEX-агрегатор.
(01:15:45) Игорь Гуламов: Да, так и есть.
(01:15:47) Александр Селезнев: Есть ли у вас в планах фандрейз? Если есть, как вы к нему планируете подходить и для чего?
(01:15:52) Александра Гуламова: Мы недавно закрыли небольшой angel round. Главная цель в том числе была показать более серьёзным инвесторам proof of trust: на рынке крипты появились довольно громкие имена, которые доверяют нашему решению. Доверяют в том смысле, что они готовы не просто поддерживать нас словами, использовать продукт или писать об этом после того, как увидели результаты, но и голосовать в прямом смысле деньгами за наш продукт. Ещё одна цель angel round — привлечь более широкого специалиста, который будет отвечать за онлайн-присутствие Savant на разных площадках. Сейчас мы этим активно занимаемся. Я как практически единственный нетехнический человек в команде, наверное, full-time этим и занимаюсь, потому что это очень острая задача, которую нужно закрыть максимально быстро. После этого сможем перейти к полноценному раунду с фондами, показывая наши результаты и proof of trust angel round. Для чего нужен полноценный раунд? Во-первых, на продвижение и маркетинговые инструменты: у нас есть планы, на которые сейчас нет бюджета. Пока о них подробнее не буду говорить, но представление о том, куда двигаться, есть. Имеет смысл расширить поддержку, чтобы она была оперативнее и выделена отдельно, потому что сейчас этим занимаются инженеры, что, наверное, тоже не совсем правильно. Слава богу, решение построено так, что поддержка требуется крайне редко, но как в любом продукте с пользователями это всё равно необходимо.
(01:18:01) Игорь Гуламов: Ещё важно сказать, зачем мы собирали раунд. У нас бывают прибыльные месяцы, но пока это нестабильно, то есть не все месяцы прибыльные. Раунд нужен, чтобы построить отдел, который будет заниматься продвижением в широком смысле. Рынок аудитов, например, отличается от рынка ZK: в ZK, по крайней мере пару лет назад, если сделать state of the art, про тебя все знают и зовут на все round tables. В случае AI-аудитов рынок совсем другой. Маркетинг играет огромную роль, и без маркетинга очень сложно донести информацию о проекте до клиента. К тому же клиенты часто не фаундеры, которые смотрят на вещи рациональнее. Закупками занимаются другие люди, которые думают о простых и понятных сигналах для decision-making при выборе. Нам нужно дать эти сигналы, потому что иначе, даже при крутых результатах, не купят.
(01:19:37) Александра Гуламова: Когда я говорила про поддержку, интересный фидбэк. В самом начале я говорила, что мы построили максимально лёгкий автоматический онбординг, в том числе потому что много людей в Web3 предпочитают лишний раз не взаимодействовать с людьми, а в сервисе максимально полагаться на себя и понимать, что делать. Сейчас в обсуждениях на рынке часто появляются люди, которые ценят саппорт в том смысле, что им что-то продаёт человек. Они сами не приходят и не всегда понимают, что им это нужно. Это больше OG-подход, его очень много, и мы в первую очередь ориентировались и ориентируемся на таких людей. Но есть огромное количество людей, которые ценят более традиционный бизнес-подход: к ним приходишь, рассказываешь, делаешь презентации, получаешь фидбэк. Если OG от этого сбегут и не будут пользоваться продуктом, для других это обязательная часть и показатель качества. Естественно, этим тоже нужно пользоваться.
(01:20:51) Игорь Гуламов: Многие из таких людей пришли в блокчейн за последние два года.
(01:20:54) Александр Селезнев: Мне кажется, что многие OG-стартапы уже перешли в фазу, когда закупки идут отдельно и отдельные люди этим занимаются. Взять 1inch: они превратились в достаточно солидную компанию, где закупка сервисов уже совсем по-другому устроена. С одной стороны, это очень хороший знак для индустрии. С другой, я иногда чувствую себя динозавром-переростком: привык, что мы все вопросы решаем проще, а тут уже нужна презентация, уже нужно быть знакомее с PDF. Я ещё подумал о том, что security в Web3 часто отчасти маркетинг. CertiK пользуется большой популярностью, несмотря на репутацию, что качество сервиса у них может быть не самым высоким. Это известный бренд среди ритейла. Если я делаю аудит с CertiK, я повешу их logo на сайт. Ритейл видит знакомое имя и думает: суперкруто, позаботились о безопасности. Получается, если качаешь security-бренд, его нужно качать так, чтобы про него знали все, а не только фаундеры.
(01:22:16) Александра Гуламова: Именно поэтому мы начали с онлайн-присутствия. Сейчас ищем человека, который будет полностью за это отвечать и максимально работать на разных площадках. Сейчас мы более-менее развиваем Twitter, но там же Reddit и другие площадки. Придёт человек, который в этом разбирается и будет подходить к этому профессиональнее.
(01:22:39) Игорь Гуламов: Говоря про техническую команду, мы не планируем существенно её наращивать. Планируем больше вертикальное масштабирование: внедрение большего числа AI-процессов в разработке. Это помогает инженерам за то же время закрывать существенно больший скоуп. Сейчас в компании мы нанимаем только AI-native инженеров. И нетехнических специалистов тоже. Подход такой: человек может чуть хуже руками писать маркетинговые статьи, но если знает, как выстроить пайплайн, где AI сделает эту работу, это то, что нам надо. Почему? Сейчас чуть хуже, но выйдет следующее поколение моделей и будет сильно лучше. Человек, который прежде всего ориентирован на работу руками, будет конкретно способен. Разработка у нас, как я говорил раньше, уже перешла в формат, когда разработчик одновременно взаимодействует с несколькими AI-агентами, раздаёт им таски, агенты делают их от пятнадцати минут до десятка часов, такое тоже бывает, особенно при обработке данных. В таком формате работает эффективно: небольшой командой можно делать очень много.
(01:24:11) Александр Селезнев: Мне кажется, это очень ценный input для многих участников рынка труда о том, как им менять подход. Я подумал: если хочешь быть конкурентоспособным на таком бездушном капиталистическом рынке, маркетинг тоже надо делать бездушной машиной, которая просто растит охваты, не целясь в топ-10 людей. Спасибо, ребят. Я задал все вопросы, которые у меня были. Мне кажется, Женя тоже. Было очень интересно. Если у вас есть что ещё проанонсировать, заявить или прорекламировать, вам слово.
(01:24:57) Александра Гуламова: Мы тоже многое обсудили, даже анонсировали, над чем работаем и чего ждать в следующих версиях. Приходите, пользуйтесь, увеличивайте безопасность ваших продуктов. Большое спасибо за приглашение, было очень здорово пообщаться.
(01:25:15) Игорь Гуламов: Большое спасибо. Два основных следующих апдейта я уже рассказал. В целом мы готовы знакомиться, общаться, коллаборировать с проектами, аудиторами, фондами. Скоро будем собирать следующий раунд, и думаю, для фондов наше решение может быть интересным именно как продукт, а не как объект для инвестиций. Как-то так.
(01:25:48) Александр Селезнев: Спасибо ещё раз, ребята. Спасибо, Игорь. Спасибо, Александра. Спасибо, Женя, за помощь с подготовкой к этому выпуску. И спасибо тем, кто нас поддерживает. Во-первых, всем нашим слушателям и пользователям нашего чата. Тем, кто саппортит нас на patreon.com/basicblockradio и на boosty.to/basicblockradio. А также нашим спонсорам. Это 1inch, ведущая экосистема DeFi. Это Zerion Enterprise Grade Web3 API. Это Fluence, децентрализованная облачная платформа. И это Acki Nacki, наибыстрый блокчейн из возможных. Подписывайтесь на нас на YouTube, в Телеграме, где мы ещё есть. Вообще мы есть на всех подкаст-платформах. Подписывайтесь везде, заходите к нам в чат, в ББ-чат. Будем рады пообщаться с вами там лично. Всем пока!