Смарт-контракты - это программы на блокчейне, которые автоматически выполняют условия сделки. Их можно сравнить с торговым автоматом: оплата внесена - товар выдан. Такие контракты используют для криптовалютных платежей, онлайн-кредитования и обмена цифровых активов, и они часто хранят крупные суммы.
Главная слабость смарт-контрактов в том, что после запуска их код нельзя изменить. Одна ошибка программиста становится постоянной лазейкой для злоумышленников, а украденные средства редко удаётся вернуть.
Автоматические инструменты поиска уязвимостей существуют, но у них есть ограничения. Многие оценивают только контракт целиком, оставляя разработчику поиск проблемного места вручную. Большинство выдаёт краткие предупреждения без объяснения, чем опасен код и как его исправить. Кроме того, не было большого набора данных с разметкой ошибок на уровне отдельных функций - строительных блоков, которые программисты пишут и проверяют.
Группа под руководством профессора Ле-Минь Нгуена и докторанта Нгок-Минь Нгуена из Японского института передовой науки и технологий (JAIST) разработала единую систему для обнаружения и объяснения уязвимостей. Работа опубликована в журнале ACM Transactions on Software Engineering and Methodology 15 сентября 2026 года.
Система состоит из трёх частей. Сначала исследователи создали инструмент, который автоматически вносит реалистичные ошибки в настоящие контракты. Получился открытый набор данных из 4208 контрактов и более 118000 функций, охватывающий восемь типов уязвимостей.
Затем они разработали графовую нейронную сеть HCA-SGNN. Она представляет контракт как сеть связанных элементов кода и анализирует каждую функцию отдельно, учитывая при этом, как функции взаимодействуют друг с другом. Это важно для атак вроде повторного входа (reentrancy), которые используют сразу несколько функций. Благодаря этому модель определяет точное место уязвимости, а не просто помечает весь контракт как небезопасный.
Наконец, большие языковые модели (ИИ-системы, обученные на огромных объёмах текста) формируют структурированные отчёты: тип ошибки, её местоположение, причину, возможные последствия и способ исправления. Эти возможности затем были перенесены в компактные модели, работающие на обычном оборудовании.
На 242 реальных контрактах HCA-SGNN превзошла существующие методы обнаружения и универсальные языковые модели, дообученные для той же задачи. Она также выявила несколько типов уязвимостей, которых не было в обучающих данных. Компактные модели-объяснения достигли примерно 97-98% качества крупных коммерческих моделей.
Исследователи видят применение системы в предрелизных аудитах безопасности, инструментах для разработчиков и более быстрой и дешёвой проверке блокчейн-финансовых сервисов. "Чтобы ИИ был действительно полезен в безопасности, люди должны понимать, почему он поднимает тревогу. Наша система указывает на конкретную опасную часть программы и объясняет риск простым языком. Мы считаем, что такой объяснимый ИИ - ключ к созданию программ, которым можно доверять", - заключает профессор Нгуен.

Комментарии
1Комментарий на модерации