ИИ ·

Искусственный интеллект находит уязвимости в смарт-контрактах и объясняет их

Учёные из Японского института передовых наук и технологий (JAIST) под руководством профессора Ле-Минь Нгуена разработали систему искусственного интеллекта, которая указывает, где именно в смарт-контракте уязвимость, и объясняет её простым языком

Искусственный интеллект находит уязвимости в смарт-контрактах и объясняет их
Изображение: сгенерировано нейросетью Alice AI ART

Смарт-контракты — это программы на блокчейне, которые автоматически выполняют соглашения: например, выдают товар после оплаты. Одна ошибка в коде становится постоянной лазейкой для злоумышленников: после запуска контракт уже не исправить, а украденные деньги редко удаётся вернуть. Существующие инструменты часто лишь отмечают рискованные контракты в целом, не указывая, где именно ошибка.

Новая система состоит из трёх частей. Сначала учёные создали инструмент, который автоматически вносит правдоподобные ошибки в реальные контракты. Так появился открытый набор данных: 4208 контрактов и более 118 тысяч функций — отдельных блоков кода — с уязвимостями восьми типов. Затем они разработали графовую нейронную сеть HCA-SGNN. Она проверяет каждую функцию отдельно и учитывает, как функции связаны между собой, — это помогает распознать атаки, которые задействуют сразу несколько функций. Поэтому сеть указывает, где именно ошибка, а не просто помечает весь контракт как опасный.

Наконец, большие языковые модели составляют отчёт о каждой ошибке: какого она типа, где находится, почему возникла, к чему может привести и как её исправить. Эти умения затем перенесли в компактные модели, которые работают на обычном оборудовании: их объяснения достигают примерно 97–98% качества крупных коммерческих моделей. На 242 реальных контрактах HCA-SGNN превзошла существующие методы поиска уязвимостей и дообученные для той же задачи языковые модели общего назначения, а также нашла типы ошибок, которых не было в обучающих данных.

Систему можно использовать для аудита безопасности перед запуском контракта, в инструментах для программистов и для более быстрой и дешёвой проверки финансовых сервисов на блокчейне, считают авторы. Профессор Нгуен подчёркивает: «Чтобы ИИ был действительно полезен в сфере безопасности, люди должны понимать, почему он подаёт сигнал тревоги. Наша система указывает на опасную часть программы и объясняет риск простым языком».

Источник: EurekAlert!

Читайте также