Ухожу в учебный отпускПоследний год я активно погружался в изучение тем современных нейронных сетей, читал книги, смотрел видео, разбирал техническую документацию и делал свои проекты, применяя навыки из разных областей. Последние три месяца я также учил начальные библиотеки для погружения в сферу машинного обучения: pandas, numpy, matplotlib и scikit. Теперь я хочу потратить некоторое время на практику с этими библиотеками, чтобы позже с комфортом начать изучать pytorch и huggingface. Поэтому этому решил потратить несколько недель на активное повторение пройденного, без какой-либо другой работы и изучения. Это хорошее время для паузы на канале, так как грядут майские праздники и многим будет все равно не до новых постов на канале. Вернусь после 11 мая.А пока, напоследок, хотел поднять тему дополнительных навыков для современных разработчиков, в том числе и для web3 программистов. Когда я делал сайты для solidityset или hornetmcp, я понял, что это за некоторой гранью моих знаний. Да, в прошлом я был фуллстек разработчиком с хорошим опытом, но в базе у меня были PHP и JavaScript (React). Это с чем я работал большую часть времени и за качество чего я мог отвечать. Теперь же мои сайты были написаны на Python (который я выучил буквально в прошлом году) и React+Vite. Кроме того, загрузка на сервер вообще никогда не была в моих обязанностях. Но время "не знаю, значит не могу" уже прошло. С развитием нейронных сетей, а также сред разработки, включая Cursor, Codex, Open code и т.д. и таких проектов как Lovable, V0, от вас будут по умолчанию ожидать, что вы можете ими пользоваться.Создать простой сайт (с backend/frontend, а не просто html страничка), настроить seo, выбрать сервер (даже VPS) и настроить его (а за рубежом еще понимать и AWS и Azure), мониторить активность, использовать последние продукты в web3: skill для пред-аудита, написание тестов формальной верификации, дебаг транзакций в разных сетях - это все уже ожидается от начинающего разработчика. Конечно, я сейчас
Solidity. Смарт контракты и аудит
@solidityset
Обучение Solidity. Уроки, аудит, разбор кода и популярных сервисов
Похожие каналы
Все →Последние посты
UPD Работы на сервереРаботы закончились, работа сайтов восстановлена. При этом есть некоторые комментарии, если вы используется программы смены виртуальной локации. При работе таких програм могут быть недоступны сайты в ru домене в частности в браузерах Chrome и Brave. Но, почему-то, в FireFox все работает стабильно и так и так. И наоборот, например мой проект HornetMCP, который находится в зоне com, не работает при прямых запросах и нужно менять локацию для доступа. И опять же на Firefox все работает нормально.Я не очень понимаю как работают доменные зоны (DNS) и настройки браузера, поэтому в случае каких-либо проблем с доступом, попробуйте выключить смену локации или зайти через Firefox браузеры. Тем не менее, сайты точно доступны и работают стабильно. Спасибо всем за ожидание. #offtop
Работы на сервереНа хостинге, где расположен SoliditySet ведутся работы от самого провайдера. Обещают до конца дня все сделать. Не волнуйтесь, все скоро починят) Буду держать вас в курсе.UPD. Они закончили работы, но нарушили некоторые мои проекты на сервере. Восстанавливаю в онлайн режиме с поддержкой. #solidityset
Безопасность протоколов все еще не решенаБезопасность протоколов в веб3 остаётся открытой проблемой, несмотря на активное внедрение передовых технологий. Недавно Cyfrin представила Cygent, первого ИИ-инженера по безопасности для web3, способного не только выявлять уязвимости в смарт контрактах, но и автоматически устранять их. Этот инструмент интегрируется с GitHub и мессенджерами, анализирует пул-реквесты и самостоятельно генерирует код для исправления ошибок, превращая сложные аудиторские отчёты в готовые решения. Ещё раньше другие компании, например Recon, открыли исходный код своих агентов и программ для проверки безопасности и написания тестов для смарт-контрактов. На рынке появляется всё больше решений для мониторинга блокчейна, в том числе основанных на искусственном интеллекте.Казалось бы, с таким арсеналом средств хакерам придётся несладко. Однако проблема не решается простым наращиванием технологий. Мне всегда была близка аналогия безопасности в web3 с камерами видеонаблюдения в современных жилых комплексах: "Когда у вас украдут велосипед, все всегда будете знать цвет куртки вора". Зачастую всё, что удаётся отследить после взломов, — это путь транзакций от кошелька до очередного миксера. Но что это меняет? Возникает закономерный вопрос: повышают ли новые боты безопасность протоколов и блокчейна в целом или же служат лишь инструментом заработка для своих создателей?Современные взломы давно вышли за рамки простого анализа кода. Сегодня это искусная социальная инженерия и тончайшая настройка параметров атаки, где роль играют комиссии, объём газа, стоимость взлома, актуальные балансы и многие другие переменные. Такие атаки зачастую невозможно предотвратить с помощью инвариантных тестов или формальной верификации в их классическом понимании. В случае социальной инженерии всё работает как в командной эстафете: надёжность системы определяется её самым слабым звеном. Хакерам не нужно взламывать всю инфраструктуру — достаточно войти в доверие к паре сотрудников, по
Vulnflow - открытие проекта для аудита с ИИСегодня я рад представить вам свой первый опенсорс проект, над которым работал последние 2 месяца. Идея проекта пришла в голову, когда я пытался собрать своего бота для аудита контрактов с использованием различных скиллов. Тогда я понял, что мне очень не хватает некой визуальной части, где я мог бы просто собирать пайплайн из нужным мне частей. Так появился Vulnflow. VulnFlow — это локальная платформа для аудита смарт контрактов, которая позволяет превратить сложный и разрозненный процесс анализа в понятный, управляемый и воспроизводимый workflow. Вместо ручного запуска множества агентов и постоянной потери контекста между этапами, пользователь собирает единый пайплайн из независимых блоков, каждый из которых выполняет конкретную задачу: анализ кода, поиск уязвимостей, обработку данных или взаимодействие с внешними сервисами.Подход VulnFlow строится вокруг визуального конструктора по примеру n8n, где логика аудита представляется в виде графа. Это позволяет не только гибко настраивать процесс под конкретный проект, но и сохранять его в виде структуры, которую можно повторно использовать, масштабировать и дорабатывать. Таким образом аудит перестаёт быть набором одноразовых действий и становится системным процессом с чёткой логикой и воспроизводимыми результатами.Платформа поддерживает работу с AI моделями, включая локальные (Ollama, LM Studio или llama.cpp) и OpenAI-compatible модели, что даёт возможность автоматизировать анализ, выдвижение гипотез и объяснение потенциальных уязвимостей. Вам не нужно тратить бюджет на дорогой GPT или Claude для каждого агента. Вы сами решаете, сколько агентов использовать — от одного простого до сложного многошагового пайплайна.Важной частью системы являются skills и lead_skills. Skills — это переиспользуемые модули поведения агента: специализированные промпты, логика анализа и сценарии поиска уязвимостей, которые можно комбинировать между собой. Пользователь может использовать как собственны
На данный момент я рассматриваю эту версию как базу для построения более сложных и продвинутых систем, которые будут добавляться со временем. Любой пользователь может скачать проект и доработать его так, как ему нужно, поэтому лицензию оставил MIT. Надеюсь, что это даст небольшой буст к развитию подобных систем для аудита и проверок смарт контрактов на разных языках. Ссылка на репо - https://github.com/zaevlad/vulnflow-auditБуду рад любым отзывам и предложениям!#ai #vulnflow

Анализ смарт контрактов через логические паттерныВ процессе построения своего проекта, я постоянно ищу новые методы и механизмы поиска уязвимостей с помощью ИИ. И вот на днях наткнулся на опубликованную в Arxiv работу китайских разработчиков, кратким содержанием которой я хочу сейчас поделиться.Авторы исследования начинают с жёсткой констатации факта: «Смарт-контракты управляют миллиардами долларов в DeFi, однако автоматизированное обнаружение уязвимостей остаётся сложной задачей, потому что многие уязвимости тесно связаны с проектно-специфичной бизнес-логикой». Ключевая проблема в том, что традиционные методы вроде фаззинга или статического анализа не справляются, так как не понимают высокоуровневых экономических механизмов. Учёные выдвигают гипотезу: «повторяющиеся уязвимости в разных бизнес-моделях DeFi часто разделяют одни и те же базовые экономические механизмы, которые мы называем DeFi семантикой». Идея в том, что если научить систему распознавать эти абстрактные механизмы, она сможет находить уязвимости даже в совершенно разном коде.В качестве примера авторы приводят два проекта — InsureDAO (2022) и Salty.IO (2024). Цитата: «хотя эти уязвимости появляются в совершенно разных протоколах — один сосредоточен на андеррайтинге страхования, а другой на автоматическом маркет-мейкинге и управлении ликвидностью — обе они проистекают из одного и того же паттерна DeFi семантики, пропорционального учёта токенов, и разделяют общий сценарий атаки, известный как атака первого депозитора». Этот пример показывает, что за внешними различиями скрывается общая уязвимая конструкция.Система KnowDIT строится в два этапа. Сначала создаётся граф знаний на основе исторических отчётов аудита. Цитата: «граф построен инкрементально с помощью LLM-пайплайна, который абстрагирует, классифицирует и дедуплицирует знания». В итоге, «граф содержит 475 дедуплицированных DeFi семантик, объединённых из 1429 кандидатов, 579 паттернов уязвимостей, полученных из 3904 аудиторских находок, и 2096 подтв
На реальных проектах система также доказала свою ценность. «KnowDIT выявляет 12 High и 10 Med уязвимостей, все из которых были подтверждены и исправлены разработчиками до развёртывания. Мы подтверждаем, что KnowDIT уже помог обеспечить безопасность как минимум 2 миллионов долларов в активах и нескольких миллионов долларов в сделках для этих проектов». Что касается стоимости, авторы признают, что их система тратит больше токенов, чем базовые методы, но это оправдано. Еще цитата: «стоимость KnowDIT хорошо оправдана его способностью эффективно обнаруживать критические уязвимости, которые ставят под угрозу десятки миллионов долларов». Например, на четырёх проектах, где система достигла полного покрытия, конкурсные награды за аудит составили 198 000 долларов, в то время как KnowDIT потратил токенов примерно на 150 долларов. Авторы заключают, что систематизация знаний об экономических механизмах DeFi через граф знаний в сочетании с итеративными LLM-агентами позволяет выйти на новый уровень автоматического аудита, недостижимый для предыдущих инструментов.Достаточно интересный подход к переосмыслению агентного процесса поиска уязвимостей.#audit #ai
Модель ИИ - паникер на смарт контрактыСейчас работаю над одним интересным проектом, который является логическим продолжением HornetMCP (базой данных с уязвимостями) и позволяет запускать агентов ИИ для аудита смарт контрактов. Агентов это, конечно, сильно сказано, скорее просто итеративные запросы к llm, но сейчас это модно говорить про агентов, поэтому оставлю так. Сам проект будет 100% опенсорс и о нем расскажу позже. А сейчас о другом.В процессе работы я пришел к выводу, что в популярных ИИ системах для аудита используется всего несколько паттернов:1. Простая инструкция для ИИ о том, как смотреть код и что искать, в простонародье - skill;2. Статический анализатор Slither (в 99% случаев);3. Разбор AST и построение графов;4. Прогон по паттернам, в основном по yaml инструкциям;5. Ну, и у самых продвинутых, обученные LLM на собранных данных по отчетам и уязвимостям;Однако продвинутыми они являются только в одном случае: если в этих отчетах есть примеры полного кода смарт контракта с уязвимостью и его исправленная версия. Просто одних отчетов, как у меня, не достаточно для тренировки модели. И собрать эти данные работа неимоверно кропотливая и трудозатратна. К примеру, на платформе code4rena все отчеты выложены в удобном формате markdown. Собрать парсер можно за 10 минут с Claude. Далее фильтр по языкам и вот все отчеты готовы. А дальше самое нудное - берешь отчет, ищешь конкурсный репо на GitHub, ищешь контракты, в которых находили эти баги. Сохраняешь контракты в markdown файле. Затем ищешь актуальный репо протокола с исправленным кодом, проверяешь, что баг был действительно исправлен и добавляешь этот код в markdown. Как вы понимаете, это работа не на одного человека, и не на пару месяцев. К тому же, что делать, если ни код протокола, ни его официальный репо не являются открытыми для общественности? Вероятно, только одна-две компании в мире готовы выделять на это время и деньги.Всем остальным, довольствоваться только имеющимися открытыми отчетами. С обучением модел