Основы безопасности Snaps: руководство по безопасной разработке MetaMask Snaps

Этот блог представляет новую базу знаний Consensys Diligence «Snap Security Essentials», содержащую информацию о модели доверия MetaMask, уяз...

3 мин чтения
Основы безопасности Snaps: руководство по безопасной разработке MetaMask Snaps

Новые примитивы означают новые уязвимости, а также ряд парадигм, которые необходимо понять, если вы хотите изначально обеспечить безопасность. К счастью, существуют такие руководства, как Ethereum Smart Contract Security Best Practices, которые дают разработчикам глубокое понимание того, как сделать свои проекты максимально безопасными для пользователей.

Руководство по безопасности для MetaMask Snaps

Одним из таких новых примитивов является MetaMask Snaps — система с открытым исходным кодом, позволяющая пользователям безопасно расширять функциональность MetaMask и открывающая новые возможности для работы с кошельком. По своей сути Snap — это программа на JavaScript, работающая внутри MetaMask в изолированной среде.

MetaMask Snaps привносит множество новых и интересных функций для вашего кошелька MetaMask, что неизбежно увеличивает сложность системы и, следовательно, расширяет поверхность атаки. Ранее мы представили модель доверия MetaMask для более безопасной разработки Snap и обозначили типичные уязвимости в Snaps.

Это основа для следующего шага в создании базы знаний по всем вопросам безопасности Snap. С учётом интересов разработчиков и аудиторов мы подготовили Snap Security Essentials — руководство, охватывающее модель доверия MetaMask, основные уязвимости, лучшие практики и многое другое. Это универсальный ресурс со всеми необходимыми материалами и знаниями, которые нужны разработчикам и аудиторам для создания безопасного пространства Snap.

Ресурс поддерживается Consensys Diligence при участии наших коллег из широкого сообщества Ethereum и специалистов в области безопасности. 💚

Что вас ждёт в Snap Security Essentials

  • Общая философия: понять Snaps — значит понять модель доверия MetaMask. Как было изложено в нашей предыдущей статье, пользователи доверяют MetaMask, но не dapp! Исходя из этой парадигмы, существуют логические следствия для безопасной разработки и аудита Snap, которые мы свели в общие философские принципы.

  • Топ-10 уязвимостей Snap: мы провели комплексный анализ отчётов об аудите всех Snaps, представленных в Snaps Marketplace по состоянию на октябрь 2023 года. Мы классифицировали выявленные проблемы и определили чёткий топ-10. Для каждой уязвимости в руководстве приводится подробное описание, сценарии неправомерного использования и способы предотвращения.

  • База знаний: это именно то место, где можно глубоко погрузиться в разработку и обеспечение безопасности Snap. Здесь мы публикуем наши последние выводы и открытия, чтобы вся актуальная информация по безопасности Snap была собрана в одном месте. База знаний постоянно пополняется — мы приглашаем сообщество вносить свой вклад и делиться опытом.

  • Экспериментальные инструменты: обеспечение безопасности — сложная и трудоёмкая задача. Мы постоянно думаем о том, как облегчить жизнь вашему внутреннему инженеру по безопасности, и публикуем новые инструменты для тестирования. Наш последний эксперимент — SnipGuardian, инструмент, предназначенный для визуализации возможностей Snap, анализа кода и обнаружения распространённых уязвимостей. Этот инструмент — настоящий швейцарский нож в области безопасности Snap. Как пользователь Snap, вы можете с его помощью оценить профиль риска Snap перед его установкой. Как разработчик — выявить типичные ошибки и уязвимости в своём Snap и повысить надёжность кода. Как аудитор безопасности Snap — усовершенствовать процесс аудита и обнаружить распространённые уязвимости.

Безопасность Snap — для сообщества и силами сообщества

Мы готовы поддержать вас с помощью аудитов, инструментов и аналитических материалов. Snap Security Essentials вышел в первой версии и служит главным ресурсом по всем вопросам безопасности Snap. Это открытый проект, и мы приглашаем всех желающих внести свой вклад. Не стесняйтесь отправлять pull request — будь то небольшие исправления или целые новые разделы. Мы с нетерпением ждём совместной работы и обмена опытом!

Давайте сделаем Snaps безопасным пространством. Посетите сайт Snaps Essentials или запросите аудит уже сегодня!

Martin Ortner (tintinweb)

Valentin Quelquejay

Мартин и Валентин — специалисты по безопасности в Consensys Diligence, стоящие на переднем крае исследований в области безопасности Snap и неустанно работающие над повышением защищённости платформы.

Переведено ИИ. Может содержать ошибки. Пожалуйста, всегда проверяйте информацию.

Оцените перевод