Sui.

Пост

Поделитесь своими знаниями.

Benjamin XDV.
Jul 18, 2025
Экспертные Вопросы и Ответы

Лучшие инструменты для аудита кода Sui Move?

Я провожу аудит смарт-контракта Sui Move, и мне необходимо убедиться в безопасности, правильности и эффективности использования газа Передовые практики

Текущие проблемы:

  • Ручное рецензирование занимает много времени
  • Не уверены, какие инструменты охватывают уникальные функции Sui
  • Нужен как статический, так и динамический анализ

Вопросы:

  1. Какие статические анализаторы для Sui Move самые эффективные?
  2. Как формально тестировать сложные инварианты?
  3. Существуют ли сканеры безопасности, специфичные для SUI?
  4. Какие методы ручного рецензирования улавливают то, чего не хватает инструментам?
  • Sui
  • Move
0
2
Поделиться
Комментарии
.

Ответы

2
Paul.
Jul 19 2025, 06:29

В целях безопасности я по-прежнему предпочитаю не только использовать инструмент, но и проводить аудит у третьей стороны.

Независимо от того, разрабатываете ли вы приложение DeFi, блокчейн-игру или любой блокчейн-проект на Sui, ряд аудиторских фирм уже активно поддерживают экосистему, предлагая услуги безопасности на разных стадиях разработки: -Asymptotic— создал Sui Prover — инструмент формальной верификации, специально разработанный для валидации смарт-контрактов Sui. -Blaize.Security— предоставляет комплексные услуги безопасности, ориентированные на программные коды, включая ручной аудит, защиту конвейеров CI/CD, мониторинг в реальном времени и анализ инцидентов. -Certora— сочетает традиционный ручной аудит с формальной проверкой для проведения тщательных гибридных оценок безопасности. -MoveBit— одна из первых компаний, внедривших формальную верификацию в аудиты Sui, а также вложила свой вклад в это дело с помощью инструментов для разработчиков и мероприятий CTF. -OtterSec— известна тщательным ручным аудитом и тесным сотрудничеством с командами на протяжении всего жизненного цикла аудита. -Zellic— обладает обширным опытом работы на языке Move и активно работает с несколькими проектами в экосистеме Sui.

Кроме того, разработчики Sui могут использоватьMove Registry (MVR) — сетевую систему управления пакетами, которая позволяет командам прикреплять ключевую информацию, такую как исходный код, документацию и результаты аудита, непосредственно к развернутым смарт-контрактам.

3
Комментарии
.
Bekky.
Jul 18 2025, 15:36

####1. Базовый набор инструментов для аудита

#####Статический анализ

ИнструментНазначениеКлючевые функции
** Move Prover**Формальная верификация- Математическое доказательство инвариантов -
Обнаружение арифметических переполнений
- Обеспечение правильности управления доступом

** Move Analyzer**Интеграция с IDE
sui move verify
sui client verify-source
** Проверки безопасности с помощью интерфейса командной строки**Встроенные аудиты

Пример использования Prover:

spec balance_never_negative {  
    invariant balance >= 0;  
}  

#####Динамический анализ

ИнструментТипОхват
** Платформа тестирования Sui**Модульные тесты- 100-процентное покрытие маршрута - Макетные
объекты/часы

** Sui Fuzzer**Тесты свойств

Пример теста Fuzz:

#[test_only]  
fun fuzz_transfer(amount: u64) {  
    let balance = 1000;  
    transfer(&mut balance, amount); // Auto-tests 0, MAX, etc.  
}  

####2. Специальные сканеры

#####Средства проверки жизненного цикла объектов -** Анализатор скидок на хранение Sui** | Обнаруживает:

  • Неограниченный рост объектов drop- Недостающие способности
  • Осиротевшие самодельные дети

######Аудит контроля доступа

# Find all entry functions without signer checks  
grep -r "public entry" ./sources | grep -v "&signer"  

#####Линтеры для общих объектов Настраиваемые правила для:

  • Отсутствуют проверки эпох
  • Риски параллельных модификаций
  • устаревшие ссылки на общие объекты

####3. Методы ручного рецензирования

#####Критические проверки 1.Паттерны возможностей:

  // Verify admin caps are properly guarded  
  assert!(address_of(signer) == admin_cap.admin, EUnauthorized);  

2.Динамическая безопасность в полевых условиях:

  // Ensure no unvalidated user input in dynamic fields  
  dynamic_field::add(&mut obj, user_input, value); // RISKY  

#####Горячие точки газа -Операции по хранению:

 // Prefer Table over vector for large collections  
 let bad: vector<u64>; // Expensive deletions  
 let good: Table<ID, u64>; // O(1) ops  

#####Соблюдение фреймворка Sui


####4. Интегрированный рабочий процесс аудита

Шаг 1: статическое сканирование

sui move build --lint && \  
sui move prove --path ./sources  

Шаг 2: динамическое тестирование

sui move test --coverage && \  
move-fuzzer ./sources -iterations 1000  

Шаг 3: проверка вручную

  1. Проверьте все entryфункции:
  • Присутствует подписавший?
  • Проверка введенных данных?
  1. Аудит общих объектов:
  • Проверки эпохи?
  • Запорные механизмы?

####5. Общие результаты по инструментам

ИнструментТипичные уловы

Move Prover

Sui CLI

Fuzzer

Руководство

####6. Советы профессионалов

Непрерывный аудит

# GitHub Action example  
- uses: MoveAnalyst/move-security-check@v1  
  with:  
    path: ./sources  

Сравните известные уязвимости

Используйте несколько RPC Протестируйте против:

  • Локальная сеть
  • Тестовая сеть
  • Различные поставщики полнонодных узлов

0
Комментарии
.

Знаете ответ?

Пожалуйста, войдите в систему и поделитесь им.

Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

443Посты665Ответы
Sui.X.Peera.

Заработай свою долю из 1000 Sui

Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

Кампания вознагражденийИюль