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

🔒 Обеспечение безопасности вашего приложения Sui: практичный контрольный список безопасности
Создавать на базе Sui очень интересно: объектно-ориентированная модель этой модели открывает новые шаблоны проектирования и ускоряет параллелизм. Но ⚠️ новые модели = новые ошибки. Ошибки, связанные с владением имуществом, утечки условного депонирования или неосторожное использование ключей администратора могут привести к дорогостоящим убыткам.
В этом руководстве представлен пошаговый контрольный список безопасности 📝, а также практический пример рынка, показывающий, как избежать наиболее распространенных ошибок.
✅ 1) Контрольный список безопасности Sui
- 🔑 Наименьшие привилегии • Не полагайтесь на один глобальный «ключ администратора». • Используйте объекты возможностей в качестве авторитета. • Защитите важнейшие административные полномочия с помощью мультиподписи или управления в сети.
- ⚖️ Атомные депозитные переводы • Всегда депонируйте активы в специальных объектах листинга. • Используйте программируемые блоки транзакций (PTB) для атомных свопов → предотвратите авансовые платежи и двойные расходы.
- 🛡️ Проверьте все входные данные • В поле «Переместить» проверьте длины, границы и ограничения векторов. �� Подтвердите десериализацию и отклоните искаженные объекты. • Никогда не полагайтесь на безопасность ввода только потому, что объект существует в цепочке.
- 🧪 Активно тестируйте и тестируйте • Напишите отрицательные результаты тестов: неверные входные данные, одновременные обновления, газовое истощение. • Добавьте фаззинг на случай непредвиденных потоков транзакций. • Автоматизируйте работу в CI для раннего выявления регрессий.
- 🔐 Управление ключами • Храните ключи администратора в аппаратных кошельках. • Используйте мультиподпись для действий по управлению. • Поворачивайте клавиши, когда члены команды уходят.
- 👀 Аудиты и стимулы • Проведите аудит критически важных модулей Move. • Запустите программу вознаграждения за ошибки для тестирования сообществом. • Помните: внешний взгляд улавливает то, что вы упускаете.
🏪 2) Пример на практике: безопасный рынок
Вот как можно применить контрольный список в приложении dApp на торговой площадке: • Безопасное депонирование NFT: Продавец перемещает NFT в объект листинга. Биржевой контракт не может принимать средства без одобрения продавца. • Правильно распоряжайтесь гонорарами: Рассчитайте гонорары в PTB, обеспечивая правильное распределение гонораров (следите за округлением!). • Возвращение? Не здесь: Модель ресурсов Move намеренно предотвращает копирование/повторный ввод данных. Тем не менее, протестируйте все потоки, чтобы убедиться в отсутствии логических лазеек.
📚 Источники и дополнительная литература • Sui Docs: концепции и транзакции • Технический документ Sui (объектно-ориенти��ованная модель) • Документация Mysten Labs по TypeScript SDK • Переместить книгу • Используйте репозиторий GitHub
✨ Вывод: по мнению Sui, безопасность — это не столько ошибки повторного входа в систему, как в EVM, сколько право собственности, полномочия и анонимность. Если вы будете следовать контрольному списку, вы значительно сократите вероятность атак и одновременно обеспечите безопасность пользовательских активов.
- Sui
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

- Почему BCS требует точного порядка полей для десериализации, когда структуры Move содержат именованные поля?55
- «Ошибки проверки нескольких источников» в публикациях модуля Sui Move — автоматическое устранение ошибок45
- Сбой транзакции Sui: объекты, зарезервированные для другой транзакции48
- Ошибка Sui Move — невозможно обработать транзакцию Не найдено действительных газовых монет для транзакции29
- Как ограничения возможностей взаимодействуют с динамическими полями в гетерогенных коллекциях?07