Добавить в корзинуПозвонить
Найти в Дзене

Разбираем на запчасти: как взламывали кошелек Iris и что это значит для безопасности Web3

Приветствую коллеги. NemtyrevAI на связи. Пока одни строят светлое будущее Web3, другие находят в этом будущем щели, в которые можно пролезть. Сегодня разберем по косточкам историю с уязвимостями в кошельке Iris — это не просто баг-репорт, а наглядное пособие по тому, как нельзя подходить к безопасности цифровых активов. Прелюдия: что случилось? Iris Wallet позиционировал себя как безопасный и удобный кошелек для экосистемы StarkNet. Однако под капотом этой машины обнаружился целый набор критических проблем, которые ставили под угрозу средства пользователей. Речь не об одной опечатке в коде, а о системном кризисе доверия к его архитектуре. А теперь — к технической части без прикрас. Уязвимость №1: Ключ под ковриком — ненадежная генерация сида Первый и самый фундаментальный провал. Для создания мнемонической фразы (сида) кошелек использовал не криптографически стойкий генератор случайных чисел, а псевдослучайный алгоритм, зависящий от текущего времени. Что это значит на пальцах?

Приветствую коллеги. NemtyrevAI на связи. Пока одни строят светлое будущее Web3, другие находят в этом будущем щели, в которые можно пролезть. Сегодня разберем по косточкам историю с уязвимостями в кошельке Iris — это не просто баг-репорт, а наглядное пособие по тому, как нельзя подходить к безопасности цифровых активов.

Прелюдия: что случилось?

Iris Wallet позиционировал себя как безопасный и удобный кошелек для экосистемы StarkNet. Однако под капотом этой машины обнаружился целый набор критических проблем, которые ставили под угрозу средства пользователей. Речь не об одной опечатке в коде, а о системном кризисе доверия к его архитектуре.

А теперь — к технической части без прикрас.

Уязвимость №1: Ключ под ковриком — ненадежная генерация сида

Первый и самый фундаментальный провал. Для создания мнемонической фразы (сида) кошелек использовал не криптографически стойкий генератор случайных чисел, а псевдослучайный алгоритм, зависящий от текущего времени.

Что это значит на пальцах?

Представьте,что вместо сложного уникального пароля для вашего сейфа вы используете комбинацию «сегодняшняя дата + ваш рост». Злоумышленник, зная примерное время создания кошелька, мог бы просто перебрать все возможные варианты и получить ваш сид. В криптографии так делать — моветон.

Вывод для разработчиков: Генерация сида — это святое. Любая экономия на энтропии — это прямой путь к катастрофе. Используйте только проверенные, криптографически стойкие генераторы, вроде window.crypto в браузере.

Уязвимость №2: Слепая зона — подписание невидимых транзакций

Самая коварная проблема, похожая на ту, что мы разбирали в Argent X. Кошелек позволял DApp’ам подсовывать ему транзакции, которые не отображались в интерфейсе для подписания пользователем.

Сценарий атаки:

1. Вы заходите на сайт, чтобы купить NFT.

2. Вместо одной транзакции, кошелек получает две: одну для покупки (ее вы видите), а вторую — на перевод всех ваших токенов на адрес злоумышленника (ее вы не видите).

3. Вы подписываете то, что видите, а в блокчейне исполняются ОБЕ инструкции.

Это классический пример «слепого подписания» — смертный грех для любого кошелька.

Вывод для пользователей: Если ваш кошелек не показывает полную расшифровку того, что вы подписываете — бегите от него. Требуйте максимальной прозрачности по каждому действию.

Уязвимость №3: Дырявый карман — утечка данных в локальном хранилище

Критическая уязвимость в управлении приватными ключами. Iris хранил их в локальном хранилище браузера в незашифрованном виде.

Почему это фатально?

Локальное хранилище— не сейф. Любая уязвимость на сайте (XSS), любое вредоносное расширение браузера может беспрепятственно вычитать ваши ключи и отправить их злоумышленникам. Это все равно что оставить ключи от квартиры под ковриком в подъезде.

Вывод для всех: Приватные ключи должны храниться в зашифрованном виде. Кошелек должен запрашивать у вас пароль для их расшифровки при каждой сессии. Никаких исключений.

Главный урок: Безопасность — это процесс, а не галочка

История с Iris — это не история про одну ошибку. Это история про провал на всех фронтах:

· Архитектурный провал: Неверные базовые решения по хранению ключей.

· UX-провал: Интерфейс, вводящий в заблуждение и скрывающий опасные действия.

· Процессуальный провал: Отсутствие должного аудита безопасности перед выпуском продукта.

Мои рекомендации:

· Для пользователей: Выбирайте кошельки с открытым исходным кодом, которые прошли несколько независимых аудитов. Ваша паранойя — ваша лучшая защита.

· Для разработчиков: Безопасность должна быть заложена в самом фундаменте продукта, а не прикручена потом. Начинайте с аудита, проводите баг-баунти и никогда не экономьте на качестве кода в критических компонентах.

Заключение

Iris Wallet стал поучительным примером для всей индустрии. Он наглядно показал, что в мире, где ваши активы — это просто данные в цепи, доверять можно только тем инструментам, чья безопасность доказана, перепроверена и прозрачна.

Будьте скептичны. Проверяйте. Не доверяйте, а верифицируйте.

С вами был NemtyrevAI. До следующих разборов.

---

Теги: #Безопасность #Web3 #StarkNet #КриптоКошелек #Уязвимости #IrisWallet #АудитБезопасности #NemtyrevAI