ИИ-аудиты в Web3 — подкаст «Базовый Блок» №216 с SavantChat
Расшифровка подкаста «Базовый Блок», выпуск №216 «ИИ-аудиты в Web3» (февраль 2026): ведущий «Базового Блока» и Евгений Марченко (CTO Pessimistic Security) беседуют с основателями SavantChat Игорем и Александрой Гуламовыми. Оригинал: https://www.youtube.com/watch?v=EudACqKiTMM
Игорь Гуламов: Привет.
Ведущий: С вами подкаст «Базовый Блок» — подкаст про блокчейн, а в последнее время немного и про AI. Сегодня будет как раз такой выпуск — про применение искусственного интеллекта в блокчейн-делах. Это выпуск номер 216, и сегодня у нас в гостях Игорь Гуламов и Александра Гуламова, основатели проекта SavantChat. В интернете не так много публичных материалов с ними, и они не самые публичные личности. Однако в среде русскоязычной ветеранской блокчейн-тусовки авторитет команды Игоря и Александры очень высок — благодаря вкладу в развитие Layer 2 на его зародышевом этапе, вкладу в развитие Zero-Knowledge-технологий, а также многочисленным аудитам. Поэтому, когда стало известно, что Игорь и Александра создали AI-аудитора кода, это вызвало в аудиторской тусовке большой интерес: ребята не делают буллшит, ребята деливерят сложные продукты и технологии.
Александра Гуламова: Привет. Большое спасибо за приглашение.
Игорь Гуламов: Привет.
Ведущий: Сегодня мы будем говорить про применение искусственного интеллекта в аудитах безопасности смарт-контрактов. И чтобы выпуск получился более глубоким, я воспользовался тем, что являюсь кофаундером аудиторской компании Pessimistic Security, и позвал в качестве сведущего эксперта своего технического кофаундера — Женю Марченко.
Евгений Марченко: Всем привет. Приятно быть на «Базовом Блоке» после долгого перерыва.
Ведущий: Женя Марченко — практикующий аудитор смарт-контрактов уже больше восьми лет, а также CTO компании Pessimistic Security, где мы применяем и SavantChat, и другие AI-тулы безопасности в реальных аудитах. Перед тем как мы начнём, я хочу поблагодарить наших патронов — тех, кто поддерживает нас на Patreon и Boosty. Огромное спасибо всем, кто нас поддерживает. Также спасибо нашим спонсорам. Это компания 1inch — проект с 23 миллионами пользователей и оборотом около 1 миллиарда долларов в сутки; по некоторым данным, он сейчас контролирует около 60% рынка свопов. Через него можно выгодно обменивать токены между Ethereum, Polygon, Arbitrum и другими сетями, получая лучший курс и защиту от MEV-ботов. Обмены внутри Solana, кстати, тоже уже работают. Также нас поддерживает Zerion. Zerion API — это мощный инструмент для Web3-разработчиков: с его помощью можно в реальном времени получать данные о кошельках, токенах, DeFi-позициях и так далее в нескольких десятках блокчейнов, включая Ethereum, Solana и другие. Всё, что вам может понадобиться, в Zerion API есть: детальные человекочитаемые транзакции, мультичейн, uptime 99,9%, масштабируемость свыше 1000 запросов в секунду. Zerion API используют такие компании, как Uniswap, OpenSea, WalletConnect, Rainbow Wallet и другие. Также нас поддерживает Fluence — облачная платформа на базе децентрализованной инфраструктуры, которая предоставляет более дешёвую и отказоустойчивую альтернативу традиционным облачным решениям вроде AWS, DigitalOcean и Hetzner. С Fluence вы получаете доступ к глобальной сети независимых провайдеров, можете быстро запускать виртуальные серверы и разворачивать рабочие нагрузки по всему миру, при этом значительно снижая расходы и не завися от одного провайдера. Спасибо, Fluence. И наш последний спонсор — это GOSH, кор-разработчик блокчейна Acki Nacki, основанного на новом протоколе, достигающем консенсуса за две итерации — самом быстром из теоретически возможных. Рекомендую послушать наш недавний выпуск с основателем GOSH: с Митей Горошевским получилось достаточно хайпово и дискуссионно. Огромное спасибо, GOSH. Ну что же, перейдём к сути нашего подкаста — к обсуждению того, что делают Игорь и Александра. Обычно мы начинаем с вопроса, как ты попал в блокчейн. Думаю, его можно по очереди адресовать Игорю и Александре. Ребята, вам слово.
Игорь Гуламов: Я в блокчейн попал раньше. В целом я следил за биткоином, наверное, через год-два после релиза, но именно что-то крипто-нативное делать я стал в 2017 году, когда Пётр Королёв собрал BankEx Foundation. Мы там делали разный ресёрч, в том числе по масштабированию. У меня есть на ethresear.ch несколько публикаций по плазме. Я был на последнем plasma call и примерно тогда нашёл критическую уязвимость в Plasma Prime. После чего, собственно, плазма и закончилась. Потом эта история пересобралась как оптимистичные роллапы, но это уже другое, потому что доступность данных там гарантируется какими-то внешними протоколами. Вот так я попал в блокчейн.
Ведущий: Спасибо. Александра?
Александра Гуламова: В блокчейн я пришла несколько позже. Сначала я немного помогала Игорю по ZeroPool, а ещё по другим нашим проектам, но те к блокчейну не относились. В блокчейне я немного помогала по ZeroPool, и проект стал развиваться — получилось так, что он требовал большего моего вовлечения именно в нетехническую составляющую. Так что у меня было довольно активное вхождение в блокчейн — сразу с ZK.
Ведущий: Соболезную.
Александра Гуламова: Спасибо.
Ведущий: Когда я готовился к этому выпуску, я слушал недавно вышедший — пару месяцев назад — подкаст CP0X с Игорем. Настоятельно рекомендую нашим слушателям, кому интересен путь Игоря: как именно и какой баг он нашёл в плазме, как Ethereum Foundation поступил с этой ситуацией, больше про ZeroPool. Если вам это интересно — рекомендую послушать тот выпуск, сам послушал с большим интересом. А мы, наверное, не будем повторять те же вопросы и больше времени посвятим безопасности, достигаемой с помощью ИИ и разрушаемой с помощью ИИ. Разве что от себя хочу задать пару вопросов, которые интересны, наверное, только мне, — но я всё равно воспользуюсь служебным положением. Игорь, правильно же я понимаю, что ты учился на физфаке МГУ и был там в аспирантуре?
Игорь Гуламов: Да, это так.
Ведущий: Ты защитил диссертацию или нет?
Игорь Гуламов: Нет. Примерно когда ушёл в блокчейн, диссертацию защищать не стал. У меня такая ситуация, что есть публикации в рецензируемых международных журналах, а диссертации нет. У многих людей обычно наоборот.
Ведущий: У меня абсолютно такая же ситуация — поэтому мне и стало интересно задать этот вопрос. Не думаешь, кстати, когда-нибудь защититься? Когда свободное время будет.
Игорь Гуламов: А его не будет.
Ведущий: Второй вопрос. Как думаешь, как так получилось, что BankEx Foundation собрал такой цветник талантов? По сути, выходцы из BankEx Foundation сделали огромное количество крутейших проектов — это и Matter Labs, и Tornado Cash, кто-то пошёл в 1inch, вы делали ZeroPool, сейчас делаете SavantChat. Как думаешь, как так получилось?
Игорь Гуламов: Думаю, просто у нас в BankEx Foundation задача была такая — актуальный ресёрч, который, с одной стороны, достаточно сложный, а с другой — очень новый. То есть там требуется не академическое погружение в историю на протяжении предыдущих десяти лет, а умение эффективно решать задачи в абсолютно новой сфере. Это привлекает соответствующих людей, которые могут это делать. Такого предложения в 2017 году в России было не так много — в основном все шли делать токены. Вокруг этого в BankEx Foundation собралась сильная команда. Ну и у Петра есть определённые таланты и достижения в этой сфере — это тоже важный фактор.
Ведущий: Ещё один вопрос — у нас пока такой блиц. Хотел задать про проект ZeroPool. Повторюсь, много интересного Игорь уже рассказал в подкасте с CP0X, поэтому не будем очень глубоко нырять в тему ZeroPool, его историю, приватность и так далее — адресую к тому замечательному подкасту. ZeroPool для наших слушателей — это такой open-source-проект, довольно олдскульный: вы его делали в 2019–2020 годах, и коммерческим он не стал. Тем не менее, если я правильно понимаю, многие команды впоследствии использовали ваши наработки в своей работе с приватностью. И я хотел бы задать такой вопрос. Уверен, что ты до сих пор следишь за темой приватности в блокчейне. Возможно, это искажение моего информационного пузыря, но мне кажется, что сейчас тема приватности в Web3 — наверное, вторая по хайпу после AI. Что тебе лично, как техническому эксперту, кажется самым интересным из того, что сейчас происходит в теме privacy? Что с FHE, приватными смарт-контрактами и так далее? Что из этого тебе интересно?
Игорь Гуламов: FHE — сильная технология, но она не для анонимных транзакций. Кто-то, может быть, и пытается делать анонимные транзакции при помощи FHE, но это не лучший инструмент для этого, потому что там ключ распределён между теми, кто что-либо вычисляет. В ZK этого нет. От trusted setup в современных протоколах давно отказались. И FHE вычислять намного тяжелее, чем ZK. В ZK сейчас можно доказывать очень большое количество вычислений за счёт рекурсии; всё-таки у FHE больше множитель сложности для того, чтобы делать какие-то вычисления.
Ведущий: А какие интересные проекты, как тебе кажется, сейчас работают в области privacy? Самые интересные?
Александра Гуламова: В плане privacy основной интерес сейчас — даже не столько в технологической плоскости, сколько в легальной. Как это ни парадоксально, легальная сфера сейчас влияет на рынок privacy намного больше, чем любые технологии: именно legal останавливает прогресс в сторону приватности. Причём я не говорю о том, чтобы регуляция была какой-то определённой, — речь о том, чтобы она в принципе была. Более-менее последнее, что у нас есть по части регуляции, — это письмо от американских регуляторов о том, что privacy — это high-risk. Оно было несколько лет назад, а что такое high-risk, они толком не объяснили: «ждите последующих апдейтов с комментариями», которых мы ждём до сих пор. Таким образом, у регулятора полная свобода воли решать, что такое хорошо и что такое плохо. И как только появится прозрачная регуляция, мой вижн такой, что технологии сразу начнут очень быстро развиваться, потому что и у ZeroPool есть что показать, и у других проектов есть что показать. Уверена, что и у других стеков более чем достаточно, что показать. Как только на этом рынке появится прозрачная регуляция — повторюсь, — будет очень много технологических апдейтов, гораздо более интересных, чем то, что происходит сейчас, и они будут очень быстрыми.
Игорь Гуламов: Речь тут скорее не про то, что нужен кто-то, кто даст пермит или не даст. Нужно отсутствие произвола. В чём сейчас проблема? В том, что с каждым privacy-проектом чиновник может делать всё, что ему в голову взбредёт. То есть это беспредел.
Александра Гуламова: Именно поэтому мы для себя эту сферу не полностью закрыли, а поставили на стоп — до появления какой-то прозрачной регуляции в этой области.
Ведущий: А вы видите какие-то подвижки? Я не очень глубоко за этой темой слежу, но периодически в нашем чате — чате нашего подкаста — что-то закидывают: что собрался какой-то Task Force, они обсуждают, что вот, сажаем институционалов на блокчейн, поэтому нам нужно соблюдать банковскую тайну, поэтому нам нужно гибкое privacy, и так далее. То есть слово privacy звучит из уст людей в галстуках, которые выступают за дубовыми кафедрами, и от этого у меня ощущение, что подвижки есть. Но, судя по тому, что вы говорите, они пока не выразились в конкретных актах.
Александра Гуламова: Ну да, как я и говорю: всё это началось, но пока чем-то более-менее осязаемым закончилось — вот этим письмом от американских регуляторов. В этом плане Штаты всё-таки играют одну из лидирующих ролей в международной регуляции. И понятно, что, поскольку у них прецедентное право, история с Tornado Cash, естественно, будет иметь большое влияние.
Игорь Гуламов: Я вижу эту историю не так — не про то, что эти люди в костюмах и галстуках о чём-то договорятся. Потому что договориться они могут максимум о том, что чей-нибудь кум или сват получит частный билль на это. О чём-то другом в таких вещах они договориться не могут. Такие вещи происходят — ну, это действительно практика — вроде того, как в итоге разрешится ситуация с Tornado Cash. Это процессы, которые относятся не к правильности, а в целом к тому, как решаются вопросы. Они идут не эволюционно — иногда ведут себя более революционно. Просто надо больше здравого смысла. Потому что если его меньше, можно десятилетиями вести дискуссию о том, могут ли люди пользоваться ножами.
Ведущий: Давайте перейдём к обсуждению SavantChat. Начнём, наверное, с такого разогревающего вопроса: откуда взялась идея сделать SavantChat? Как он появился?
Александра Гуламова: Наша команда активно следила за тем, что происходит на рынке, и в целом за развитием моделей. Так как у Игоря довольно большой опыт в сложных аудитах, в том числе ZK-проектов, мы периодически пробовали — но не с точки зрения запуска нового проекта, а с точки зрения того, что вообще могут модели. Аудит — это такой определённый стандарт, вершина в плане технологий, развития сложных технологий; и если модели что-то могут в плане аудита, то имеет смысл применять их и для разработки в том числе. То есть это некий экзамен для технологий. И примерно год назад мы заметили, что LLM доходят до той стадии, когда уже что-то могут выудить. Мы попробовали с этим поиграться просто в рамках онлайн-хакатона. Результат нас несколько удивил — и мы решили делать продукт.
Ведущий: Приятно удивил, я так понимаю. Хорошо. Расскажите, как SavantChat устроен.
Игорь Гуламов: Устроен он так. Мы разбиваем код на семантически корректные чанки, потом генерируем документацию по этим кусочкам кода и по проекту. Также мы берём RAG по документации, которая была предоставлена. При аудите это может быть скрейлинг каких-нибудь GitBook-сайтов, какие-то вайтпейперы. Мы устанавливаем связи между кусочками кода и документацией. Дальше мы закидываем эти кусочки в агент — генератор гипотез. Потом эти гипотезы дальше исследует агент-аудитор. Потом агент-критик отфильтровывает ошибки, потом происходит дедупликация. Там много более тонких архитектурных моментов, но если в целом — то вот такой pipeline.
Ведущий: То есть для пользователя на входе это выглядит так: он может закинуть в SavantChat код и документацию, которая у него есть, дальше SavantChat делает то, что ты только что описал, и на выходе выдаёт красивый PDF-репорт со списком находок.
Александра Гуламова: Да, мы делали так, чтобы процесс для пользователя был максимально привычным и понятным. В том числе мы учитывали особенности Web3-комьюнити — довольно интровертного, не очень стремящегося лишний раз общаться с людьми, — чтобы всё было максимально автоматизировано. Поэтому у нас максимально лёгкий вход на платформу и максимально лёгкий этап загрузки: ты просто загружаешь туда свой код — практически любым удобным способом — и получаешь репорт, который обычно получаешь после аудита в «человеческих» компаниях. Он тоже максимально приближен к этому формату, чтобы пользователю всё было максимально комфортно. Немного отличается от стандартного аудита процесс CI/CD-интеграции: когда ты можешь подключить проверку для совсем ongoing security и проверять код небольшими кусочками, когда готовишь релиз. Там уже совсем быстрый результат — вплоть до того, что за 10–15 минут можно получить баг-репорт даже в Телеграм.
Ведущий: Хотел бы задать вопрос про то, как устроен pipeline. Если я правильно понимаю, сначала код, как Игорь сказал, разбивается на кусочки, сопоставляется с документацией. Кстати, напомните, как расшифровывается RAG?
Игорь Гуламов: Прямо сразу не скажу. Но я могу много рассказать про то, как он работает.
Ведущий: Скажи своими словами, что это такое, чтобы нам сейчас не задерживаться.
Игорь Гуламов: Это построение такой системы. Мы берём данные, разделяем их на чанки. Для каждого чанка строим embedding — это вектор в многомерном пространстве, там может быть тысяча измерений. Соответственно, у нас есть эти чанки, и есть наше сгенерированное описание для кусочков кода — для него мы тоже строим embedding. Дальше мы смотрим в этом многомерном пространстве, какие кусочки ближе всего к тому, что мы ищем. После этого берём 100 ближайших кусочков и делаем реранк: закидываем их в модель, которая выбирает для нашего запроса из этих 100, допустим, 10 самых подходящих кусочков, — и уже это подаётся на вход модели.
Ведущий: Притворюсь, что я понял. Значит, у тебя есть несколько моделей — я так понимаю, публичных, — которые генерируют гипотезы, потом эти гипотезы как-то отфильтровываются, дедуплицируются и попадают в отчёт. Вопрос такой: а все ли так делают? То есть есть ли другие подходы к тому, как построить архитектуру AI-аудитора?
Александра Гуламова: На самом деле на рынке есть несколько подходов. Кто-то делает просто враппер для какой-то одной LLM. Особенно это заметно, как только выходит новая версия одной из Tier-1-моделей, которая более-менее хорошо работает с кодом и подходит для аудитов: сразу появляется пачка новых AI-аудиторов, которые дают почти бесплатную цену и максимально быстрый результат — но потому, что это, по сути, работа одного промпта. Ну и результат там соответствующий. Другой подход — это обучение своей модели на базе существующих уязвимостей. По этому пути мы не пошли, потому что люди и так хорошо работают со своими стереотипами на наработанной базе, а мы верим, что AI ценен именно новым взглядом и новым подходом к работе с кодом. Благодаря этому мы часто получаем в отчётах результаты, максимально не похожие на то, что находят люди и что человеческие аудиторы обычно считают за уязвимости. И это не потому, что человек плохо работает с кодом, а потому что у человека есть своя база, свой опыт, свои стереотипы и в какой-то степени определённые шаблоны мышления — как бы мы ни хотели от этого отходить. А AI даёт абсолютно другой подход к коду.
Игорь Гуламов: Есть наш подход, а есть подход next-gen — это когда агент может проводить эксперименты с работающим кодом: что-то где-то задеплоить, подёргать. Это то, над чем мы сейчас работаем к следующему релизу. Это очень сильно уменьшит количество false positive. У нас их и так достаточно мало, но всё-таки больше, чем в человеческих аудитах, — а такой подход позволит радикально уменьшить их количество. Были тезисы — не помню, кто именно из AI-ресёрчеров это говорил осенью, — что хорошая архитектура — это не супер-dense-модель, которая знает всё в своих весах, а модель, которая знает принципы. И если ей на вход дать какие-то знания, то она применит принципы к знаниям и выдаст качественный результат. Мы сейчас, помимо возможности проводить эксперименты с кодом в процессе аудита, делаем такой учебник по всем уязвимостям, которые были, — для нейросетей и при помощи нейросетей. Причём, наверное, даже быстрее, чем возможность выполнять код, мы планируем прикрутить его к SavantChat. Соответственно, с ним нейросети, если будут видеть код, пройдутся в том числе и по типовым кейсам — не в ущерб, естественно, тому, чтобы придумать что-то новое. Просто 95% того, что есть, — это всё-таки композиция старого, а не что-то новое. Это повысит качество для наших клиентов.
Ведущий: Ты сказал, что вы делаете справочник для нейросетей на тему того, какие уязвимости уже были. Если я правильно понимаю, вы же уже на чём-то дообучали модель, которую используете?
Александра Гуламова: Нет.
Ведущий: А на чём тогда дообучили?
Александра Гуламова: Поэтому я и сказала, что мы изначально пошли от подхода не обучать свою LLM. На данный момент мы заставляем разные комбинации Tier-1-моделей думать над кодом. То есть сейчас наша архитектура такая, что модели видят код в первый раз и анализируют его с нуля — ищут, где могут быть уязвимости и слабые места. И сейчас это дополнится учебником по уязвимостям. Но подход, при котором каждый код смотрится с нуля, как в первый раз, останется — учебник просто дополнит его, основное всё равно останется на этом вижене. Особенно хотела дополнить то, что сказал Игорь: что более-менее уязвимости одни и те же. С одной стороны, это действительно так — это абсолютно валидно для кода, написанного человеком. Но сейчас разработка двигается в сторону вайб-кодинга, причём в разных видах. И вайб-кодинга не только написанного с нуля, но и когда очень опытные, классные разработчики дополняют им свою работу — у нас в команде это тоже активно используется. И здесь AI уже может генерировать те уязвимости, которые человек не генерировал. Соответственно, нужен и другой подход — и это, опять-таки, сильная сторона того, что наш AI смотрит на код со своей точки зрения.
Игорь Гуламов: Говоря про разные модели — мы используем их сильные стороны. Допустим, модели от Anthropic неплохи в использовании tools, но слабее в STEM, зато у них всё хорошо с творчеством. У моделей от OpenAI с творчеством плохо, зато всё хорошо с instruction following. У моделей от Google, Gemini, всё хорошо и с творчеством, и со STEM, но без специальных усилий со стороны промпт-инжиниринга они выдают нестабильные результаты, которые существенно сложнее применить. Поэтому мы комбинируем разные модели под разные подзадачи. У нас есть креативные задачи; есть задачи, где, наоборот, нужна не креативность, а всё тщательно проверить; есть задачи агрегации разных результатов. Под разные задачи подбираем разные модели, чтобы обеспечить максимальное качество при минимальной цене. Также мы используем batch-запросы: запросы делаются параллельно и со скидками — это позволяет увеличить количество inference, доступного нашим пользователям для аудитов. То, что мы делаем, просто «завайбить» нельзя ни за вечер, ни за неделю, ни за месяц. Опять же, если использовать одну любую модель или даже две, то результат будет хуже, а цена — больше. И мы постоянно обновляем наш инструмент под новые релизы и проводим бенчмарки.
Ведущий: Женя?
Евгений Марченко: Поправьте, правильно ли я понял: у вас на вход, помимо данных от пользователей, идёт ещё огромный ваш подготовленный контекст — вот этот учебник, например, который вы сейчас делаете. Учебник со взломами, хаками, уязвимостями, разобранными на части, — и, наверное, какие-то ваши инструкции, промпты, подсказки, как пользоваться агентами, как взаимодействовать с этой кодовой базой?
Игорь Гуламов: Это не кодовая база, это принципы. Мы собрали уязвимости, делаем по ним кластеризацию, используем Tier-1-модели, чтобы очистить все эти уязвимости от контекста конкретного проекта и оставить только описание — то есть что должно происходить в проекте, чтобы такое имело место. Потом мы с этими данными работаем — так и получается учебник. То есть его пишет искусственный интеллект. Мы вообще уходим от парной работы человека и AI — это то, что было этим летом. Мы переходим к процессам, когда инженер строит pipeline, в котором AI может работать над каким-то решением. Смысл в чём? AI не только делает задачу, но и проверяет её — по промежуточной проверке. Есть какие-то критерии, и AI по ним проверяет задачу; если есть проблемы, он возвращается назад, исправляет их и делает дальше, пока не решит, а человек делает только окончательную приёмку. Говоря про эту базу — там очень большой объём вычислительной работы, потому что нужно обработать при помощи нейросетей все уязвимости, которые когда-либо находили в смарт-контрактах. А перед этим их надо собрать. С этой задачей искусственный интеллект отлично справляется. У нас небольшой стартап — три инженера, — и мы можем позволить себе делать такие задачи. Ещё летом не могли, потому что AI — это просто колоссальное количество raw power, которое может делать гигантский объём интеллектуальной работы.
Евгений Марченко: У меня есть ощущение, что последние пять минут на фоне присутствует такое противопоставление человека и AI на разных уровнях. Например, вы, SavantChat, в основном полагаетесь на AI, а AI думает иначе, чем люди, — поэтому и проблемы будет искать другие, по-другому. Или хакеры, которые раньше искали всё руками и думали как люди, — теперь это тоже какой-то AI, он ищет другие проблемы. Код генерирует тоже AI — снова другие проблемы. И даже эта база данных, учебник, который вы составляете, в основном состоит из человеческих ошибок и найденных людьми уязвимостей, обработанных AI. Как вообще выглядит эта динамика между человеком и AI? Как этот баланс сил сейчас выглядит и как он, может быть, меняется по мере того, как AI движется вперёд?
Александра Гуламова: На мой взгляд, противопоставлять человека и AI — это изначально не очень продуктивный подход. На мой взгляд, это исключительно про дополнение. Мы как раз и говорим, что AI дополняет человека: AI даёт другой взгляд на код. Поэтому мы и говорим, что AI-аудиты, в том числе SavantChat, — это ни в коем случае не замена человеческого аудита, это инструмент для ongoing-разработки, для подготовки к человеческому аудиту, для быстрой проверки и для повышения безопасности именно в процессе разработки. Когда мы говорим, что вайб-кодинг даст другие уязвимости, — это как раз про то, что вайб-кодинг даст ещё и новые уязвимости, но человеческие никуда не денутся, потому что значительную часть разработки всё равно пишут люди. Их уязвимости, которые они вносят в код, никуда не денутся — это просто дополнится. Поэтому и нужен AI-аудит, который дополнит человеческий. И, как ты правильно сказал, это человеческие уязвимости, а AI дополняет тем, что структурирует их. Здесь исключительно про совместную работу человека и AI. Singularity is not here yet — по крайней мере, мы можем говорить только про взаимодействие человека и AI.
Евгений Марченко: Я сам пользуюсь парой инструментов, включая SavantChat, для аудитов. Я запускаю его на всей кодовой базе, беру результаты и смотрю их ближе к концу уже ручного аудита — когда уже разобрался в проекте, но хочу посмотреть на код ещё с одной стороны. Потому что SavantChat действительно прям по-другому думает, периодически удивляет — но это хорошо. Мне как аудитору приятно подумать под другим углом, посмотреть на уже знакомый код: это повышает мою уверенность, что я разобрал все возможные сценарии. При этом реальной возможности взаимодействовать у меня почти нет. Какие-то инпуты на вход я подать могу, но я не разработчик — в основном я просто передаю собранные материалы, и на выходе получаю результат. Я не могу сказать: «а подумай вот об этом», или «я вижу, ты сделал такое предположение — я понимаю, что ты вычислил это из документации, но это предположение неверное, подумай ещё раз». Это не упрёк SavantChat — все тулы сейчас такие, — но это то, чего мне как аудитору, может быть, не хватает: какой-то интерактивности. Как вообще может быть устроено плотное взаимодействие людей и AI?
Игорь Гуламов: Сейчас этого пока нет. Это всё-таки больше похоже на построение технического задания — на то, чтобы дать AI документацию. Возможно, после правки ошибок это какой-то re-audit уже с правками, когда по второму разу, с учётом всего этого, он работает. А вот прямо на лету — я не уверен, что что-то получится, потому что на серьёзных продакшн-скоупах это может быть 100 тысяч запросов к LLM, которые идут на протяжении 10 часов и стоят там 10 тысяч долларов. Для SavantChat это вполне нормальная история.
Александра Гуламова: По мере развития LLM это станет более адекватным.
Евгений Марченко: Да. Тогда, может быть, — вот вы упоминали CI/CD в начале разговора — может быть, где-то там и может быть интерактивность. Понятно, что медленно, но разработчики могут дать AI-тулам какие-то инструкции, чтобы те меньше сходили с ума, меньше галлюцинировали, меньше беспокоили на ровном месте.
Игорь Гуламов: Конечно. Говоря про CI/CD — это, наверное, да, самое близкое к интерактивности. Потому что людям не нужно, чтобы AI из-за стереотипов и непонимания контекста долбил каждый раз о какой-нибудь ерунде при каждом коммите. А он будет делать именно это, если не будет грамотно организованной обратной связи. Сейчас это можно сделать, внося соответствующие записи в документацию и добавляя dev-комментарий к кусочку кода о том, как он на самом деле себя ведёт: тогда такие стереотипы у искусственного интеллекта исправятся, и он не будет туда долбить. Да, это не работает в формате ChatGPT, потому что ChatGPT — это парная работа, а тут решение подразумевает огромное количество ресёрча, больше, чем сейчас делает GPT-5 Pro. А GPT-5 Pro сейчас часто и сам делает автономный ресёрч. Пока он его делает, он разве что показывает человеку свой reasoning. Но, допустим, человек посреди этого ресёрча увидел, что модель копает куда-то не туда. Если человек увидел это на тридцатой минуте, он не будет дропать весь ресёрч, чтобы поправить чат. Почему? Потому что у модели этих направлений ресёрча не один десяток. Понятно, что какие-то из них будут не самые лучшие, а какие-то — лучше; главное, что она потом выберет для референса, а что выбросит как мусор. А у нас и параллелизма больше, и взаимодействия больше — это такой DAG: в нём несколько этапов, и он очень широкий, до сотни тысяч запросов к разным моделям. В этом плане у нас меньше возможности показывать пользователю что-то осмысленное в процессе. Опять же, мы специально настраиваем модели так, чтобы они предлагали самые безумные решения, а потом мы их фильтруем. Причём иногда могут отфильтроваться и какие-то хорошие безумные решения — но, поскольку их много, отфильтруются не все, какие-то попадут в репорт. И вот тогда в репорте можно прочитать что-то полезное. А если человек будет вникать во всё это во время ongoing-процесса — это слишком большая когнитивная нагрузка. Ему и так потом придётся разгребать, может быть, 50–100 issue, которые написал искусственный интеллект. Мы над этим работаем. Думаю, CI/CD — самое близкое к такому интерактиву. Возможно, в будущем появятся какие-то механизмы — например, чтобы AI по тем моментам, которые ему не очень понятны, мог что-то спрашивать у человека. Мы про это думали, но сейчас, к сожалению, у нейросетей, особенно с высокой креативностью, которая нужна для поиска issues, всё крайне плохо с осознанием собственного незнания. Они скорее что-то напридумывают. Ну а что делать — нам именно это свойство и нужно, когда мы хотим, чтобы они что-то придумали.
Евгений Марченко: Интересный, получается, комплекс проблем. С одной стороны — креативность, с другой — нельзя оперативно получить контроль и фидбэк от человека, тот же CI/CD; понятно, но там один большой скан. А можно ли что-то из этого компенсировать традиционными инструментами — статическим анализом, любым другим? Всё то, что инженеры раньше придумывали, чтобы автоматизировать эту проблему, — весь этот арсенал. Может ли AI эффективно им пользоваться и улучшать свои результаты?
Игорь Гуламов: Когда мы выбирали, что делать — учебник по проблемам, — мы думали в том числе фактически завайбкодить какой-то стат-анализатор, гигантский, похожий на Slither, но в котором есть всё. Но мы решили, что лучше делать его «пушистым», нечётким: словами описать, что плохого может происходить, а дальше нейросети это почитают и что-нибудь найдут. Это такой статический анализатор, только мы внедряем его немного другим путём, не тем, которым это обычно делается. Говоря про инструменты, я думаю, самое перспективное — это формальная верификация. Даже когда мы говорим про обучение — это то, как сейчас учат нейросети, решающие математику: они используют формальную верификацию. Формальная верификация — это была ранняя модель искусственного интеллекта, ещё до нейросетей, в середине XX века. Люди считали, что если научить компьютеры что-то делать с логическими утверждениями, то из этого и получится интеллект. Не получилось. Почему? Потому что растёт экспоненциальная сложность. Это такое многомерное пространство, в котором можно пойти куда угодно, а нам нужно из постановки задачи прийти к решению. Этот путь прокладывает нейросеть, но в нём могут быть ошибки. А вот логическая система — формальный верификатор, прувер — может доказать, что ошибок нет. И это делается быстро: путь находится. Тут как раз и нужен искусственный интеллект, потому что сама система из коробки умеет только перебор, а перебор при экспоненциально растущей сложности — плохая идея. Зато готовый путь проверяется эффективно. Применительно к смарт-контрактам это значит вот что: если научить AI-агентов пользоваться формальной верификацией, то вместо того, чтобы нейросеть думала над какими-то гипотезами, ковырялась в коде и иногда галлюцинировала (а она будет галлюцинировать, потому что мы используем её в режиме максимальной креативности), — мы берём её креативную гипотезу и сразу прогоняем через формальный верификатор. В итоге inference меньше, а надёжности больше. Мы делали с этим эксперименты — эксперименты интересные. Будем над этим работать и внедрим это в SavantChat.
Евгений Марченко: Говоря про формальную верификацию в таком её использовании — обязательно ли делать полное описание всей системы контрактов, которые в скоупе, или можно формально проверять какие-то отдельные свойства? Ну, детский пример: сумма балансов всегда равна total supply. Можно ли изолированно проверить это свойство с помощью такой математики?
Игорь Гуламов: Да, конечно, можно. Вопрос в том, как правильно его сформулировать. Правильно — не так, что «сумма балансов равна total supply», а так, что, когда у нас меняются балансы, локально изменение суммы балансов равно изменению total supply. Почему? Потому что это локальная история. После этого мы пробегаем по всем местам, где это происходит, проверяем эту локальную историю и таким образом убеждаемся, что всё нормально. Ситуация, когда AI что-то упустил, здесь исключена, потому что мы разбиваем код на маленькие чанки и каждый чанк смотрим отдельно. Берём чанк и все его зависимости, но говорим модели, что исследуем именно этот чанк, а остальное — контекст. И если там где-то что-то происходит с балансами, модель это заметит и построит описание для формального прувера под каждый такой отдельный кейс. Потом это всё докажется, и мы получим большое утверждение, что сумма балансов всегда равна total supply. Это как раз про тот самый путь. Потому что закинуть в формальный прувер общую задачу, если там куча разных сложных логик, — это сложно. А модель может декомпозировать эту историю. Модель даже может потом из этих кусочков составить и общее утверждение: она берёт их как отдельные теоремы про каждую отдельную историю, а потом из них тривиально складывается большое глобальное утверждение. Это как раз про то, чтобы найти путь, как решать задачу в этом многомерном пространстве математических утверждений.
Евгений Марченко: Звучит как большая голубая мечта: один AI написал, другой прочитал, составил спецификации, верифицировал, доказал, что оно работает как надо. Но интуиция подсказывает мне, что в пределе оно так всё равно работать не будет. Или всё-таки возможно, что когда-нибудь людей можно будет вообще исключить из этого цикла, и оно будет магически срабатывать хорошо и без проблем?
Игорь Гуламов: Чтобы ставить задачи, нужно их понимать — понимать, что это такое. Я сильно сомневаюсь, что из этой истории будут исключены инженеры, потому что не инженер вряд ли сможет эффективно обсуждать инженерные вещи с искусственным интеллектом и правильно ставить задачи. Если появится AGI — тогда, конечно, многое изменится, но это будет вообще другой мир, и там будет происходить много чего. Если же говорить о периоде до AGI — до ситуации, когда искусственный интеллект может выполнить любую человеческую задачу, — то инженеры точно нужны, потому что нужно ставить задачи. И инженер поставит задачу лучше, чем не инженер. А если мы рассматриваем мир, в котором AI может заменить любого человека, — это уже совсем другая история, и там, наверное, проблемы уже не с инженерами.
Ведущий: Там уже вопрос, нужно ли тратить время на разработку AI-аудиторов — или можно уже и не тратить. Я хотел бы задать более общий вопрос. Следите ли вы за тем, как развивается кибербезопасность в разрезе AI вне Web3? Наверняка там кратно больше умных людей работает, чем в Web3, и наверняка там тоже есть чем вдохновиться — какими-то более общими подходами. Начать хотя бы с того, что у нас в Web3 в целом немного искажённое восприятие того, что такое кибербезопасность, — с креном в сторону аудитов. А общая кибербезопасность в Web2 не так сильно завязана на человеческие аудиты. Наверняка там AI сейчас больше используется в других задачах — в мониторинге, в пентестах и так далее. Смотрите ли вы на это?
Игорь Гуламов: Это интересное направление, мы за ним следим. Всё-таки наш профиль — это больше работа с кодом. Пентесты — тоже интересно и перспективно. Я думаю, AI сейчас может активно заниматься и мониторингом, и пентестами. Есть много проектов, которые говорят, что работают с кодом — находят неэффективный код или какие-то ошибки. В это я верю меньше, потому что вижу, как SavantChat работает с Solidity: там не так много проблем, код часто максимально оптимизирован, ошибки уже максимально исправлены — требуется реально очень много inference потратить, чтобы найти что-то интересное. Естественно, для Web2 эти косты пока слишком дороги, но инференс дешевеет быстро, и количество false positive тоже падает. Думаю, мы придём к тому, что сможем аудировать как смарт-контракты, так и код Web2-проектов, сможем делать формальную верификацию кода в Web2-проектах — и это будет работать. Думаю, мы к этому рано или поздно придём, чтобы разработка была эффективной и без таких проблем. Но пока да — мониторинг и пентесты — это основные направления, по которым сейчас искусственный интеллект может давать качественный результат.
Евгений Марченко: Хочу вернуться обратно в Web3. В Web2 постоянно случаются zero-day, и это обычно история про какую-нибудь библиотеку: в ней был баг, уязвимость, все ею пользовались, и теперь у всех проблемы — все ждут патча и надеются, что их не коснётся. Web3 всё-таки живёт по немного другим законам, устроен по-другому. При этом я видел, что большинство взломов вы можете воспроизвести — что потенциально SavantChat мог предотвратить случавшиеся у нас zero-day. Мог бы ты уточнить, что имеется в виду под zero-day в Web3, что означает, что вы их воспроизводите, и вообще поговорить о том, как поменялась бы ситуация, если бы SavantChat запускали на каждом контракте?
Александра Гуламова: Здесь имеет смысл дать сначала общий ответ, прежде чем уходить в технические детали. Под воспроизведением zero-day мы имеем в виду то, что мы нашли root cause — то есть SavantChat нашёл в коде то место, где случился эксплойт, откуда произошёл сам по себе крах. Это говорит о том, что если бы такие проекты, как Abracadabra, Bunny, использовали SavantChat, то мы могли бы предотвратить эти громкие хаки осени. Но здесь нужно иметь в виду: мы не заявляем, что SavantChat воспроизводит 100% хаков. Здесь скорее валидно говорить о том, что AI-инструменты используют не только для безопасности — не только для усиления безопасности в процессе разработки, — но и black-hat-хакеры тоже используют AI-инструменты. SavantChat как раз воспроизводит последние хаки осени, которые очень сильно отличаются от того, что было до этого. На основании того, что это отличается от того, что было раньше, и что SavantChat это воспроизвёл, мы можем говорить, что хакеры тоже начинают активно использовать AI-инструменты в своих целях. Поэтому неправильно говорить, что мы воспроизводим все zero-day. Естественно, какую-то значительную, возможно, бо́льшую часть мы воспроизводим, но тут есть и свои нюансы.
Игорь Гуламов: Во-первых, есть full exploit path — это то, что сделал хакер, — а есть root cause: это строчка, в которой сидит reentrancy или какой-нибудь arithmetic overflow. Но это не значит, что она приведёт к краже денег, — это просто ошибка в коде. То есть root cause — это изолированная ошибка в коде, а exploit path — это то, как можно украсть деньги. Мы воспроизводим root cause. Мы находим ошибку в коде, и очень часто дальше не идём — или идём дальше куда-то не туда, потому что SavantChat — это штука для защиты, а не для атаки. Мы видим, что root cause найден — хорошо, это нас уже устраивает. Можно было бы раскрутить это дальше до exploit path, но это уже опционально; для валидации это, наверное, полезно. Сейчас, когда мы работаем над тем, чтобы прикрутить execution кода, докручивать это до exploit path может быть полезно — чтобы лучше писать proof-of-concept. Даже написать proof-of-concept для arithmetic overflow на протоколе — тоже хорошая идея. SavantChat нашёл все root cause, и он нашёл достаточно много exploit path. То есть иногда он пишет прямо верное утверждение, как можно увести деньги, а не просто, что там какая-то серьёзная ошибка. Это не значит, что SavantChat умнее людей. Думаю, это скорее значит, что хакеры используют искусственный интеллект, чтобы искать проблемы. Более того, сейчас волна хаков пошла по closed-source-смарт-контрактам. Раньше мы берём какую-нибудь декомпиляцию — код выглядит грязно, нечитаемо, — а искусственный интеллект может его восстановить: посмотреть на эту декомпиляцию, сделать реверс-инжиниринг, а потом фаз-тестирование байткода с этим реверс-инжинирингом, чтобы убедиться, что это одно и то же. А потом в уже отреверсенном смарт-контракте он будет искать ошибки и применять их к байткоду — и в результате получается уязвимость. Это намного дешевле, чем если бы люди ковырялись в этом байткоде или реверсили каждый такой контракт. То есть если контракт не проаудирован и там есть хоть какое-то адекватное количество денег — сотни тысяч долларов, — то он под угрозой, потому что его декомпилируют и исследуют хакеры своими инструментами. Security through obscurity не спасает.
Ведущий: Да, кстати, мы дадим ссылку на ваш пост — насколько я понимаю, вы его вчера написали. Я его сегодня читал, на эту тему как раз, очень познавательно. От себя тоже хочу добавить, что действительно большое количество хакеров работают автоматизированно, и уже давно. Я помню случаи с 2020 года как минимум, когда кто-то деплоил контракт — и его взламывали в течение пяти минут. Человек с глазами просто не мог бы успеть всё это посмотреть и придумать, как. Хакеры давно работают автоматизированно. Хотел задать вопрос ещё про эту последнюю волну AI-взломов. Меня навела вот на какую мысль. Есть подозрение, что большое количество недавних взломов каких-то старых протоколов — это взломы AI-assisted. И я знаю твою позицию, Игорь: что от вайб-хакеров нам условно единственное средство — это вайб-аудит. Потому что, понятно, если вайб-хакер может найти то, что человек не видит, то и защититься мы можем чем-то, что человеком не является. Эта позиция мне абсолютно понятна и выглядит рационально. Но сегодня у меня была вот какая мысль. Тулы ведь тоже совершенствуются, и AI тоже совершенствуется — сейчас он может делать то, что не мог полгода назад, и так далее. А смарт-контракт ты разочек задеплоил — и всё, сиди и живи с ним теперь. А тулы будут совершенствоваться дальше. То есть, допустим, мы сейчас разработали смарт-контракт, сделали прекрасный аудит с помощью AI-тулзы, задеплоили его, прошло полгода — и AI развился настолько, что может найти баг там, где его раньше как будто не было. И получается, с моей точки зрения, что как-то страшно стало жить. Ты не можешь быть уверен, что, условно, положишь деньги в какой-нибудь DeFi-протокол и можешь о них полгода не вспоминать. Если раньше ты более-менее спокойно мог жить — с поправкой на наши web3-шные особенности, — то сейчас, по мере прогресса AI, становится всё более и более страшно. Что ты можешь на это сказать?
Александра Гуламова: Вернусь опять к своей точке зрения, что AI дополняет человека. У нас с некоторыми клиентами есть примеры, когда довольно крупные протоколы прогоняли через SavantChat код, который уже лежит на проде, которым пользуются, у которого очень много пользователей, — и находили там уязвимости, слабые места. И это не помешало им их исправить. То есть если код зарелизен — это ещё не значит, что мы не можем его усовершенствовать и пофиксить. Делать постоянно человеческий аудит, естественно, очень дорого и долго. Тем более если мы говорим, что хакеры используют AI всё больше. А вот регулярно прогонять свой код — даже тот, что уже в проде, — через SavantChat, видеть уязвимости и что-то фиксить — это вполне себе решение.
Игорь Гуламов: Проекты будут регулярно аудировать свой код — особенно когда выходят новые модели, а мы буквально вкатываем их за несколько дней. Может быть, мы даже достигнем того, что будем вкатывать их день в день. Соответственно, нужно просто сделать re-audit. Если это иммутабельные смарт-контракты, то у протокола только один вариант — переезжать на следующую версию, это стандарт. Если контракт апгрейдабельный, то его можно поправить.
Евгений Марченко: Примерно то, что я и ожидал услышать.
Ведущий: А дальше у меня был такой вопрос... хотя вы его тем более уже опередили примерами. Ты упомянула примеры — а какие это примеры?
Александра Гуламова: Я, естественно, сейчас не буду называть команды, которые это делали, но знаю по отзывам, что ребята так делают: прогоняют, как я уже сказала, существующий код, на котором живые пользователи, которых много; видят, что там уязвимости, — и просто их фиксят. Соответственно, протокол становится более безопасным.
Ведущий: Вопрос про AI-аудитора как бизнес. Вы чарджите своих клиентов за аудит условно построчно. Одна из мыслей, которые сразу возникают, — такая «пиратская»: а не попробовать ли такого рода тулзой аудировать, просто прогоняя весь код подряд, который видим, который заявлен на bug bounty, находя там баги и репортя их? Почему вы так не делаете? Хакеры же так делают — прогоняют код, что-то находят, хакают себе. Вроде как всё это работает в плюс. Почему бы не направить этот вектор в белую сторону?
Александра Гуламова: По первому твоему пункту — что мы чарджим за строчку. Это как раз было сделано, чтобы для юзера был максимально привычный и лёгкий путь использования продукта, потому что по факту, естественно, чарджится не за строчку — вычисление сложнее, правильнее говорить, что за токены. Но для простоты использования, чтобы быть понятнее пользователям, мы говорим — за строчку кода. Если говорить про bug bounty — во-первых, стоит отметить, что SavantChat был первым AI-аудитором, который занял шестое место на Sherlock ещё летом, соревнуясь с людьми. Но мы это делали не из желания получить дополнительный источник финансирования, а чтобы посмотреть, как модель работает в том числе и на таких площадках. Результат получился более чем впечатляющий — это было самое первое решение, которое достигло такого результата. Но до этого мы сами, как человеческая команда, с этими площадками не работали. И в ходе этого эксперимента мы поняли, что бо́льшая часть работы там — это не сам аудит, а доказывание жюри, что это действительно баг, что это можно привести к краже денег и так далее. SavantChat этим не занимается, а чтобы полноценно этим заниматься, наверное, нужны отдельные люди. Для нас это не наш бизнес, но мы сотрудничаем с аудиторами, кто хочет в этом участвовать; мы об этом заявляли, и есть примеры сотрудничества. Поэтому, если кто-то хочет получить такой инструмент именно для white-hat-использования, они могут выйти с нами на связь — мы готовы это поддерживать. Но сами мы считаем, что каждый должен заниматься своим делом: если мы будем так распыляться, то результат нашего основного продукта может несколько просесть, потому что у нас концентрация именно на решении для клиентов, а не для аудиторских площадок.
Игорь Гуламов: Было много DeFi-хаков, связанных с нарушением инварианта, — когда смарт-контракт менеджерит shares разных liquidity-провайдеров. Там получается, что можно на несколько wei подкрутить инвариант, а потом за счёт какого-нибудь гигантского флешлоана сделать эти несколько wei значимым процентом от какого-нибудь баланса — и таким образом украсть деньги. А как работает SavantChat? SavantChat просто найдёт, что инвариант можно сломать, а дальше уже как повезёт. То есть, как он сейчас сделан, он не будет out of the box глубоко копать, к чему это дальше приведёт. Уже сам по себе сломанный инвариант попадёт в репорт. Этот сломанный инвариант поместят как какой-нибудь low. Но это не значит, что в этом нет value: потому что если все случаи, когда инвариант ломается на несколько wei, исправить, то случаев, когда эти несколько wei можно вырастить в несколько миллионов долларов, просто не будет. То есть это более защитная тактика. Релиз, над которым мы сейчас работаем, — связанный с экспериментами на коде — позволит в том числе делать и более глубокий такой ресёрч. Почему это может быть у кого-то ещё, а у нас этого пока нет? У нас очень строгое требование — простота использования инструмента и его автономность. У многих наших конкурентов AI фактически запускает и тонко настраивает их команда — у нас такого нет. Естественно, если собирается более хрупкий, более кастомный pipeline, где руками можно настроить что-то под специфику проекта, — можно в целом получить больше результатов. Но это опять же про то, какой результат на практике. По идее, так можно получить больше результатов, но мы этого почему-то не видим. У тех решений, которые так делают, иногда просачивается что-то про них — но чаще всего это какой-то маркетинг, что у них есть секретные способы что-то делать.
Ведущий: Это как раз к моему следующему вопросу. AI-аудиторов сейчас действительно делают очень многие. Многие из тех, кто в нашем Web3-cybersecurity является относительно зарекомендовавшим себя брендом, сейчас пытаются пивотнуться в такого рода продукт — Munify, Sherlock, много кто. В чём ваше конкурентное преимущество перед этими игроками? В чём секретный соус?
Игорь Гуламов: У нас Спарта — у нас нет стен. Да, у нас нет секретных соусов — у нас исключительно надёжная архитектура и уверенный результат.
Александра Гуламова: Поэтому мы как раз и не играем в маркетинговые игры — типа «давайте сделаем 150 звонков, чтобы мы настроили это для вас, а потом вы через пару дней увидите результат AI по коду» (даже такое есть на рынке, причём у довольно крупных игроков), или «у нас есть секретное слово, с помощью которого вы получите результат». Нет — мы за максимальную прозрачность. У нас сложная архитектура, мы используем сильные стороны Tier-1-решений на рынке, и это даёт ощутимо лучший результат. Что подтверждают множественные бенчмарки — то есть даже это не какое-то маркетинговое заявление, это на деле результаты. Причём, поскольку AI-инструменты для аудита — это что-то новое на рынке, и люди проводят бенчмарки действительно из интереса, о многих из них мы узнаём постфактум, вместе с широкой аудиторией — когда результаты уже опубликованы и нам кто-то кидает ссылку: «вот, ребята, посмотрите, у вас снова бенчмарки». Здорово.
Игорь Гуламов: И когда я говорил, что некоторые наши конкуренты могут показывать более хорошие результаты на contest, — это не значит, что мы находим что-то меньше. Это значит просто, что у нас больше wide-research, а у кого-то больше deep-research. Но если речь про аудиты, мне кажется, wide-research лучше. Почему? Потому что если мы нашли что-то, что является хотя бы medium-ошибкой, — а нарушенный инвариант это всё-таки как минимум medium, а не low, — то это должно быть исправлено. А если оно исправлено, то уже не так важно, как оно могло бы быть проэксплуатировано, — потому что оно не будет проэксплуатировано. Но да, кто-то делает решение именно для contest'ов или для bug bounty — там, естественно, нужен более deep-research. Это мы тоже собираемся делать, но в контексте не bug bounty, а решения проблемы с false positive: такое решение позволит радикально уменьшить ещё большее их количество. Поэтому мы над этим работаем. Говоря про аудиторов, которые каждый делает свой AI, — делать такое решение — это серьёзная работа. Это работа не для аудиторов, а для билдеров. Тут нужно быть билдером, который умеет в аудиты, а не аудитором, который решил что-то побилдить.
Александра Гуламова: И здесь мы не говорим про какую-то конкуренцию или ещё что-то — мы говорим именно про то, почему, когда я говорила про bug-bounty-платформы, мы считаем, что каждый должен делать свой бизнес, то, в чём его сильные стороны. Мы видим в том числе, что аудиторы, которые делают свои AI-продукты, приходят и используют наш инструмент тоже, — это тоже о чём-то говорит. Если возвращаться к bug-bounty-платформам — мы, опять-таки, сотрудничаем с аудиторами: каждый делает свою сторону. Мы предоставляем AI-решение, а аудитор делает то, в чём силён он, — применяет свой опыт для достижения результатов.
Ведущий: Обращение к white-hat-хакерам: ребята, мы, наверное, поставим контакты команды SavantChat в шоуноутах к этому выпуску. Если вам интересно поработать с SavantChat в этом направлении — законтактьте их. Интересный для меня вопрос про бизнес: оценивали ли вы как-либо размер рынка смарт-контрактов? Условно говоря, Александра уже сказала, что вы чарджите не совсем за строчку, но давайте возьмём эту грубейшую метрику: если посчитать, сколько вообще в год пишется строк смарт-контрактов и сколько их деплоится, и умножить условно на ваш ценник, — это вообще даёт какой-то венчурный рынок? Интересный, венчурный? Если представить, что все люди, все проекты будут пользоваться AI-аудиторами, — это вообще что-то интересное для вас как для стартапа?
Александра Гуламова: Это интересно. И здесь я тебя тоже сразу поправлю в assumption, потому что то, как развиваются LLM, даёт нам основание говорить, что AI-аудиторы — и в частности SavantChat со своей архитектурой — ни в коем случае не ограничены только Web3-рынком. У нас в планах — думаю, вторая половина 2026 года — выход и на Web2-рынок, потому что там сейчас с аудитами всё сложнее: general-языки программирования тяжелее поддаются человеческому аудиту, потому что, естественно, гораздо больше всего нужно держать в голове. Подход SavantChat как раз решает эту проблему. Поэтому, если говорить о венчурном потенциале, то здесь подход намного более широкий. Плюс на рынке есть примеры аудиторских компаний и аудиторов, которые с несопоставимо более слабыми результатами, чем у SavantChat, успешно прошли этот путь и подняли деньги.
Игорь Гуламов: Мы как-то замеряли агента Lisa на CTFBench — там было прямо всё печально. А подняли они, вроде, больше 10 миллионов.
Александра Гуламова: 12. И вот здесь получается интересно в плане венчура. У Lisa самые слабые результаты — она подняла 12 миллионов. Octane, у которого результаты тоже весьма скромные, но всё-таки получше, чем у Lisa, подняли 6 миллионов. А решения, которые дают самые сильные результаты — не только SavantChat, там есть и намного более сильные, чем Octane, решения, — не подняли ничего.
Игорь Гуламов: Ну, есть ещё Almanax, который по бенчмаркам, которые люди делали, похуже, чем Nethermind и SavantChat.
Александра Гуламова: Да, но лучше, чем Octane. И они подняли, по-моему, то ли миллион, то ли три. По-моему, миллион.
Ведущий: Мне кажется, из этого можно сделать вывод, что качество продукта на венчурном рынке — непринципиальная переменная.
Александра Гуламова: Весьма, весьма. Закономерность действительно интересная: чем сильнее продукт, тем меньше он поднял. Потому что, допустим, Lisa, которая подняла больше всех, не справилась с тем, с чем SavantChat справлялся ещё на запуске — на первых результатах, ещё год назад.
Игорь Гуламов: Это уязвимость, про которую нейросети уже знают, потому что это известный root cause.
Александра Гуламова: Да. То есть если ты спросишь у обычного, general AI, тебе про эту уязвимость скажут, — а вот Lisa, которая подняла 12 миллионов, не находит.
Ведущий: Это, конечно, нужно проживать мозгом. Возможно, венчуры сейчас действительно оценивают скорее иначе. Может быть, они подразумевают, что построить такой продукт не так сложно, как его продать. И, может быть, они видят, что люди удачно продают. Не знаю.
Игорь Гуламов: Возможно, возможно.
Александра Гуламова: Я думаю, здесь как и с любым агентом. Если мы говорим про более general AI-агентов — не знаю, каких-то каждодневных применений, — то часто это может быть какой-то несложный враппер. Отстраняясь от рынка security: построить агента для условно бронирования билетов или агента для календаря — ничего сложного. Поэтому, думаю, таким же образом они смотрят и на рынок аудитов и считают, что раз это AI-агент, то в любом случае это довольно просто строится. А там есть особенности.
Игорь Гуламов: Опять же, люди могли полгода назад обучить свою нейросеть на базе какой-нибудь Llama 3. Инвесторов, когда они видят, что люди могут обучить свою нейросеть, это впечатляет. Мы этим просто не занимаемся, потому что я слишком много читал кейсов, когда выходят новые GPT-5 или Gemini, и пишут: «вот, мы сравнили специализированную медицинскую нейросеть, которую обучали на медицинском датасете полгода назад, с этой общей нейросетью — и общая обошла ту медицинскую, которую собирали врачи». Что это значит? Это значит, что нужно брать интеллект от лучшего решения, доливать туда in-context learning, свою специфику, грамотно спроектировать контекст — и всё будет. И вместо того чтобы устраивать забег с Google, лучше просто взять то, что Google может дать.
Александра Гуламова: Да. Сейчас часто говорят про риски: «не боитесь ли вы, что AI — такие как Gemini, OpenAI — будут настолько сильны, что смогут сами давать какой-то результат по AI-коду?» Мой ответ — нет, мы этого не боимся; мы, в какой-то степени, возможно, к этому даже стремимся, потому что используем их сильные стороны. Для нас это означает: чем сильнее каждая из моделей, тем сильнее наше решение на рынке и тем лучше результат мы можем давать пользователям. Потому что даже Tier-1-модели сохраняют свои особенности, свою специфику, и, как Игорь говорил в самом начале, каждая из них сильна в чём-то одном. Да, это часто меняется, но всё равно какая-то своя специфика у них сохраняется, и мы используем эти сильные стороны в нашем решении.
Игорь Гуламов: Я брал, например, релиз от Trail of Bits — skills для Claude Code. Что могу сказать? Это действительно сильное решение. На CTFBench из 7 сэмплов в 6 причина найдена. Один не найден — там лишний делитель в одном месте, причём в таком, где человек тоже мог бы его написать. Модели от Anthropic, как обычно, с математикой несколько слабее — как у них обычно и было. Надо использовать разные модели, надо использовать сложные пайплайны. Решение, основанное на одной модели, — даже на той, которая сейчас state of the art для разработки, даже если дать ей возможность писать какой-нибудь proof-of-concept (то есть согласно этим skills), — всё равно будет проседать. Потому что agentic framework важен, но важен и интеллект, причём разноплановый интеллект. Мы берём этот разноплановый интеллект и делаем из него pipeline, в результате которого находятся разные ошибки — и архитектурные, и бизнесовые, и криптография, и математика.
Ведущий: Меня сейчас озарило: если пользоваться понятными мне DeFi-аналогиями, то вы делаете не DEX, а DEX-агрегатор.
Игорь Гуламов: Да, это так.
Ведущий: Есть ли у вас в планах фандрейз? Если есть — как вы планируете к нему подходить? Для чего?
Александра Гуламова: Мы сейчас закрыли небольшой angel-раунд. Главная цель этого раунда была в том, чтобы для более серьёзных инвесторов показать proof of trust — то, что довольно громкие имена на рынке крипты доверяют нашему решению. Причём доверяют не просто на словах, не просто используют наш продукт или пишут о том, что используют его, увидев реальные результаты, — а в том числе готовы голосовать за наш продукт в прямом смысле деньгами. И сейчас одна из целей этого angel-раунда — привлечение более широкого специалиста, который будет отвечать за онлайн-присутствие SavantChat на разных площадках; сейчас мы этим активно занимаемся. Я, как единственный практически нетехнический человек в команде, занимаюсь этим почти фулл-тайм, потому что это очень острая задача, которую нужно закрыть максимально быстро. После этого мы сможем перейти уже к работе над полноценным раундом с фондами, показывая наши результаты и этот proof-of-trust-раунд. Для чего нужен полноценный раунд? Во-первых, есть определённые маркетинговые инструменты, определённые планы, на которые сейчас нет бюджета, — я бы пока о них подробнее не говорила, но представление, куда двигаться, есть. Наверное, в том числе имеет смысл расширить поддержку, чтобы поддержка пользователей была более оперативной и выделенной, потому что сейчас этим занимаются инженеры, что тоже, наверное, не совсем правильно. Но, слава богу, у нас решение построено так, что поддержка требуется крайне редко, — но в любом случае, как в любом решении, с пользователями она необходима.
Игорь Гуламов: Тут ещё важно сказать, зачем мы собирали раунд. У нас есть прибыльные месяцы, но пока это нестабильно — прибыльные не все месяцы. Раунд нужен, чтобы построить отдел, который будет заниматься продвижением в широком смысле. Рынок аудитов, например, отличается от рынка ZK тем, что на рынке ZK — по крайней мере, пару лет назад — если ты сделал state of the art, то про тебя все знают, зовут на все round table. А в случае AI-аудитов рынок абсолютно другой: маркетинг играет большое значение, и без него очень сложно донести информацию о своём проекте до клиентов. К тому же клиенты — это не обязательно фаундеры, которые смотрят на эти вещи более рационально; часто закупками занимаются другие люди, которые думают в том числе о том, какие простые и понятные сигналы они могут приложить к своему decision-making, когда что-то выбирают. И нам нужно эти сигналы дать, потому что иначе, даже если мы будем показывать крутые результаты, у нас не купят.
Александра Гуламова: И, когда я говорила в том числе про поддержку, — есть интересный фидбэк. В самом начале я говорила, что мы построили максимально лёгкий, в том числе автоматический онбординг, потому что многие люди в Web3 предпочитают лишний раз не взаимодействовать с людьми и даже в каком-то сервисе максимально полагаться на себя, понимать, что он делает. Но сейчас я часто вижу в обсуждениях, что даже на рынке Web3 появляются люди, которые ценят саппорт — когда им что-то продаёт человек. Раньше они приходили, сами понимали, что им это нужно, — это больше такой OG-подход, его очень много, и мы, естественно, в первую очередь ориентировались и ориентируемся на этих людей. Но есть и огромное количество людей, которые ценят более традиционный подход в бизнесе — когда к ним приходишь, рассказываешь, делаешь возможные презентации, получаешь фидбэк. И если OG от этого просто сбегут и не будут пользоваться продуктом, то есть люди, для которых это обязательная часть и показатель определённого качества. Естественно, над этим тоже будем работать.
Игорь Гуламов: Многие из этих людей пришли в блокчейн в последние два года.
Ведущий: Мне, кстати, кажется, что даже многие OG-стартапы сейчас уже перешли в такую фазу, когда у них закупки идут отдельно — этим занимаются отдельные люди. Взять хоть тот же 1inch: они уже превратились в достаточно солидную компанию, где закупки сервисов и продуктов происходят совсем по-другому. Это, с одной стороны, очень хороший знак для всей нашей индустрии, а с другой — я иногда чувствую себя таким динозавром-переростком: я-то привык, что мы как-то по-простому все вопросы решаем, а тут уже нужно презентацию делать, нужно быть более знакомым с PDF-ом. И ещё я подумал вот о чём: security в Web3-мире — это же часто отчасти маркетинг. Условно, какая-нибудь компания Certik пользуется большой популярностью, несмотря на репутацию не самого, может быть, высокого качества сервиса, — просто потому что это хороший известный бренд среди ретейла. Условно: я сделал аудит у Certik, присобачил себе на веб-сайт их логотип, и ретейл видит известное имя — «о, суперкруто, люди позаботились о безопасности». То есть тут тоже получается, что если ты качаешь свой security-бренд, то качать его нужно так, чтобы про него знали все, а не только фаундеры какого-то продукта.
Александра Гуламова: И сейчас мы ищем человека, который будет полностью за это отвечать — чтобы максимально работать на разных площадках. Сейчас мы более-менее развиваем Twitter, но есть ещё и тот же Reddit, и другие площадки. Соответственно, придёт человек, который в этом разбирается и будет подходить к этому более профессионально.
Игорь Гуламов: Говоря про техническую команду — мы не планируем существенно её наращивать. Мы планируем скорее вертикальное масштабирование — внедрение большего числа AI-процессов для разработки. Это помогает инженерам выполнять больший скоуп за то же время, существенно больше. Мы сейчас нанимаем в компанию только AI-native людей — и инженеров, и не инженеров. Подход такой: человек может чуть хуже руками писать статьи по маркетингу, но при этом знает, как выстроить pipeline, в котором эту работу сделает AI, — вот это то, что нам надо.
Ведущий: Почему?
Игорь Гуламов: Потому что сейчас чуть хуже — а выйдет следующее поколение модели, будет сильно лучше. Человек, который прежде всего ориентирован на работу руками, будет неконкурентоспособен по сравнению с таким подходом. С разработкой у нас сейчас — как я раньше говорил — мы перешли на формат, когда разработчик одновременно взаимодействует с несколькими AI-агентами, раздаёт им таски, а агенты делают эти таски от 15 минут до десятка часов. Такое тоже бывает — особенно при обработке каких-нибудь данных. И в таком формате всё работает эффективно: небольшой командой можно делать очень много.
Ведущий: Мне кажется, это вообще очень ценный input для многих участников рынка труда — про то, как им нужно поменять свой подход. Я подумал: действительно, если ты хочешь быть конкурентоспособным на таком бездушном капиталистическом рынке, то и маркетинг надо делать бездушной машиной, которая просто бездушно растит охваты, не целясь в каких-то там топ-10 людей. Спасибо, ребят. Я задал все вопросы, которые у меня были. Мне кажется, Женя — тоже. Было очень интересно. Если у вас есть что ещё проанонсировать, о чём заявить, что прорекламировать, — вам слово.
Александра Гуламова: Мы тоже всё обсудили — даже сделали какие-то анонсы того, над чем работаем и чего ждать в следующих версиях. Приходите, пользуйтесь, повышайте безопасность своих продуктов. Большое спасибо за приглашение, было очень здорово пообщаться.
Игорь Гуламов: Большое спасибо. Про два наших основных следующих апдейта я уже рассказал. В целом мы готовы знакомиться, общаться, коллаборировать с проектами, аудиторами, фондами. Скоро мы будем собирать следующий раунд, и я думаю, что для фондов наше решение может быть интересно именно как продукт, а не как объект для инвестиций. А кто как.
Ведущий: Спасибо ещё раз, ребята. Спасибо, Игорь. Спасибо, Александра. Спасибо, Жене, за то, что помог мне подготовиться к этому выпуску. И спасибо тем, кто нас поддерживает. Спасибо, во-первых, всем нашим слушателям и пользователям нашего чата. Спасибо тем, кто саппортит нас на Patreon и на Boosty. А также спасибо нашим спонсорам: это 1inch — ведущая экосистема DeFi; это Zerion — enterprise-grade Web3 API; это Fluence — децентрализованная облачная платформа; и это Acki Nacki — наибыстрейший блокчейн из возможных. Подписывайтесь на нас на YouTube, в Telegram — где мы ещё есть? Мы есть на всех подкаст-платформах: подписывайтесь на нас везде, заходите к нам в чат bbchat — будем рады пообщаться с вами лично. Всем пока.