Безопасность Web3: с нуля
Двенадцать частей о том, как устроены смарт-контракты, как их ломают и за чем следить: от того, кто что может вызвать, до первых пяти минут инцидента. Каждая часть кончается правилами, которые это поймают.
Как устроен контракт
- Безопасность Web3: с нуляЧасть 1 из 12
Что такое смарт-контракт: код, состояние, события и кто что может вызвать
Смарт-контракт — это код и хранилище по адресу. Как работают вызовы, события и состояние и что видно в логах, а что только если спросить контракт.
SmartAlert - Безопасность Web3: с нуляЧасть 2 из 12
Владельцы, роли и админские ключи: где в контракте дверь
Как Ownable и AccessControl из OpenZeppelin решают, кто может чеканить, ставить паузу и обновлять, чем плох один админский ключ и что отслеживать.
SmartAlert - Безопасность Web3: с нуляЧасть 3 из 12
Прокси с обновлением: почему код за адресом может смениться
Как работают прокси ERC-1967, delegatecall и инициализаторы, почему проверенный аудитом контракт меняется после аудита и какие сигналы ловить.
SmartAlert - Безопасность Web3: с нуляЧасть 4 из 12
Мультисиги и Safe: владельцы, порог, модули, delegatecall
Как устроен мультисиг Safe: владельцы, порог, execTransaction, модули, guard и delegatecall. Что Safe защищает, что нет и как за ним следить.
SmartAlert
Как контракты ломают
- Безопасность Web3: с нуляЧасть 5 из 12
Кража админского ключа: как взломали IoTeX, PlayDapp и Zoth без единой ошибки в коде
Крупные взломы чаще начинаются с украденного админского ключа, а не с бага. Три случая с точным временем и алерты, которые можно поставить.
SmartAlert - Безопасность Web3: с нуляЧасть 6 из 12
Почему мосты — главная цель: как потеряли деньги мосты Ronin и Orbit
Мост хранит токены всех пользователей в одном контракте и верит подписям вне сети. Ronin и Orbit по шагам: какие алерты сработали бы, а какие нет.
SmartAlert - Безопасность Web3: с нуляЧасть 7 из 12
Манипуляция оракулом и ценой, флэш-займы: чему протокол верит про цены, и случай KiloEx
Как атакующий двигает цену, которой верит протокол, почему флэш-займы делают это бесплатным, как выглядел взлом KiloEx. Какие алерты помогают.
SmartAlert - Безопасность Web3: с нуляЧасть 8 из 12
Взлом одной транзакцией: Radiant, Infini, KiloEx и Bybit, и чего мониторинг не может
Некоторые взломы не дают предупреждения: первый сигнал и потеря — одна транзакция. Четыре случая, почему алерт опаздывает и что помогает.
SmartAlert
Как следить
- Безопасность Web3: с нуляЧасть 9 из 12
Что мониторить после аудита: чек-лист по типам контрактов
Аудит проверяет код в один день. Чек-лист того, за чем следить после него, по типам контрактов: токен, прокси, Safe, мост или хранилище, кипер.
SmartAlert - Безопасность Web3: с нуляЧасть 10 из 12
События и состояние: когда события не будет
Событие — то, что контракт решил объявить. Состояние — то, что он хранит. Почему порог Ronin стал 0 молча и как это ловит правило по view-функции.
SmartAlert - Безопасность Web3: с нуляЧасть 11 из 12
Фиксированный порог или норма по часам: почему одно число всегда врёт
Фиксированный порог шумит днём и слепнет ночью. Как работает сравнение часа с тем же часом прошлых дней и когда фиксированное число всё же верно.
SmartAlert - Безопасность Web3: с нуляЧасть 12 из 12
Реагирование на инцидент: первые пять минут после алерта
Алерт — ещё не реакция. У кого ключ паузы, кому слать алерты, какой рычаг у каждого контракта, как заморозить деньги через биржи и эмитентов, ночной тест.
SmartAlert
Попробуйте бесплатно
Достаточно адреса. Первые 14 дней действуют лимиты Pro, а правила проверяются на истории до включения.