Вот что не хватает и как поднять ваши аудиты на новый уровень:
1⃣Аудит бизнес-логики, а не только кода
Протокол кредитования может иметь математически корректный код, но неправильные стимулы (например, ставки заимствования, которые можно манипулировать для истощения резервов).
• Моделируйте токеновые потоки и теорию игр (например, "Что будет, если 80% пользователей выйдут одновременно?").
• Используйте инструменты, такие как @gauntlet_xyz, для симуляции стрессовых сценариев.
2⃣ Апгрейдируемые контракты и подводные камни прокси
Конфликты хранения между версиями реализации.
• Неинициализированные прокси (например, взлом Parity Wallet).
• Централизация ключа администратора (например, эксплуатация задержки GovernorBravo в Compound).
• Используйте Echidna для тестирования путей обновления.
• Убедитесь, что функции инициализации защищены и идемпотентны.
3⃣ Слепые зоны кросс-цепочки и уровень 2
Что не хватает: контракты, взаимодействующие с мостами или L2 (например, Arbitrum, Optimism), сталкиваются с уникальными рисками.
• Пробелы в валидации сообщений (например, взлом Wormhole на $325M).
• Повторные атаки через цепи.
• Неправильные предположения о сборах (например, газ L2 против газа L1).
• Аудируйте обработчики вызовов между цепями (например, processMessageFromL1).
• Тестируйте с помощью инструментов, таких как @hyperlane или @LayerZero_Core, для проверки целостности сообщений.
4⃣ Формальная верификация и символическое исполнение
Инструменты для добавления:
• @CertoraInc: Доказательство инвариантов (например, "Ни один пользователь не может вывести больше, чем он внес").
• Halmos: Символическое исполнение для выявления крайних случаев.
Manticore: Исследуйте все пути выполнения (например, для переполнения целого числа).
Пример: Используйте Certora, чтобы проверить, что функция обмена DEX никогда не позволяет резервам опуститься ниже порога.
5⃣ Исторический контекст и каталоги атак
Использование прошлых взломов для направления аудитов.
• Изучите https://t.co/l3Q4YLLoZj и отчеты @immunefi для выявления паттернов (например, манипуляция ценовыми оракулами).
• Создайте контрольный список исторических уязвимостей (например, доверительная инициализация моста Nomad).
6⃣ Риски оптимизации газа
Оптимизации могут вводить уязвимости.
• Использование delegatecall для экономии газа может непреднамеренно подвергнуть риску хранилище (например, эксплуатация MasterContract @SushiSwap).
• Просмотрите низкоуровневые вызовы (call, delegatecall) на предмет предположений о контексте.
• Тестируйте функции с высокой нагрузкой газа с помощью EthGasStation, чтобы выявить аномалии.
7⃣ Угрозы управления и мультисиг
Механизмы управления являются первоочередными целями.
• Спам предложений (например, задержки Governor Bravo @Uniswap).
• Утечка ключей мультисиг (например, взлом моста Horizon @harmonyprotocol).
• Аудируйте таймлоки, пороги кворума и механизмы вето.
• Проверьте ротацию подписантов мультисиг и практики холодного хранения.
8⃣ Риски интеграции третьих сторон
Внешние зависимости (например, оракулы, реестры) часто доверяются безоговорочно.
• Аудируйте проверки устаревания latestAnswer @chainlink.
• Убедитесь, что TWAP Uniswap V3 правильно взвешены по времени.
9⃣ Снижение когнитивных искажений
Аудиторы подвержены искажениям, таким как искажение подтверждения или якорное искажение.
• Используйте упражнения red-team/blue-team: Один аудитор атакует, другой защищает.
• Меняйте аудиторов в середине обзора, чтобы сбросить предположения.
🔟 Соответствие и регуляторные ловушки
Код может соответствовать спецификациям, но нарушать регуляции (например, санкции OFAC).
• Проверьте функции просмотра, раскрывающие данные пользователей (риски конфиденциальности).
• Убедитесь в механике черных/белых списков (например, последствия соблюдения @TornadoCash).