Останнім часом глибоко занурююся у безпеку смарт-контрактів і зрозумів, що більшість розробників не використовують правильні інструменти для виявлення вразливостей до запуску. Це насправді критична прогалина, оскільки після того, як ваш код потрапить у мейннет, виправлення проблем безпеки стає справжнім кошмаром.



Справа в тому, що смарт-контракти настільки безпечні, наскільки безпечний їхній код. Вони незмінні та прозорі, що добре для довіри, але жахливо, якщо там є помилка. Тому я почав аналізувати ландшафт доступних інструментів для безпеки смарт-контрактів, і чесно кажучи, екосистема досить міцна, якщо знати, куди дивитися.

Більшість атак, які я бачу, мають передбачувані шаблони — цикли повторного входу, що висмоктують кошти, frontrunning, коли зловмисники спостерігають за очікуючими транзакціями і вставляються з більшою ціною газу, або проблеми з переповненням цілих чисел, коли числа раптово обертаються. Це не нові проблеми, але вони продовжують траплятися, бо розробники або не знають про них, або неправильно тестують.

Тут і приходять на допомогу правильні інструменти. MythX — ймовірно, найкомплексніша платформа для цього — використовує передовий символічний аналіз для виявлення недоліків у контрактах Ethereum. Вони мають безкоштовний тариф для фрілансерів і корпоративні плани для великих проектів. Спільнота розробників її цінує, бо це справді інноваційно.

Для тестування виділяється Echidna — вона використовує fuzzing для генерації випадкових входів і виявлення крайніх випадків, які пропускає звичайне тестування. Інтегрується з Remix і Truffle, підтримує кілька мов, таких як Solidity і Vyper. Тестування на основі властивостей з Echidna — це справжній спосіб знайти дивні баги.

Slither — ще один інструмент, який я постійно використовую — визначає проблеми з повторним входом, неініціалізовані вказівники, переповнення та зменшення. Аналіз байткоду виявляє недоліки, які не видно у вихідному коді. Працює з Solidity до версії 0.8.x.

Для аналізу контрактів Cyberscan від Cyberscope надає інформацію про власність, проксі, додатки аудиту — все в одному місці. Similarityscan дозволяє перевірити, чи є контракт оригінальним, чи просто скопійованим кодом. Обидва економлять час при оцінці проектів.

Truffle Security інтегрується з MythX і пропонує безперервний моніторинг — сканує ваші контракти під час розробки і постійно слідкує за новими вразливостями. Їхня база даних оновлюється постійно, оскільки загрози з’являються щодня. Такий підхід до постійного контролю дуже цінний, бо ландшафт загроз ніколи не стоїть на місці.

Manticore — це open-source рішення, якщо хочете мати повний контроль — використовує символічне виконання для дослідження кожного шляху через ваш контракт і створення тестових випадків. Працює з Truffle і Mythril, підтримує кілька мов. Чудово підходить для аудиторів безпеки, які потребують глибокого огляду.

ZeppelinOS спрощує весь процес за допомогою модулів OpenZeppelin, інструментів тестування і реєстру попередньо аудиторованих контрактів, які можна повторно використовувати. Панель керування робить управління кількома контрактами менш болісним.

Signaturescan зосереджений на виявленні шаблонів — має обширну базу відомих вразливостей і хаків, постійно оновлюється. Спеціально розроблений для Ethereum.

Safescan займається прозорістю — перевірками команд, аналізом транзакцій, звітами по історії гаманців. Конфіденційність хороша, але відповідальність теж важлива.

Чесно кажучи, найкращий підхід — використовувати кілька інструментів для безпеки смарт-контрактів у комплексі, а не покладатися лише на один. Розробники мають самостійно проводити аудит або наймати аудиторські фірми перед запуском у мейннет, бо виправлення вже після запуску — це справжня катастрофа. Безпека — це не разова дія, а постійний процес моніторингу і оновлення щодо нових векторів атак.

Якщо ви працюєте з Ethereum або іншими блокчейнами, витрачайте час на правильні інструменти безпеки зараз — це врятує вас від катастрофічних втрат пізніше. Інструменти є, вони перевірені, вони працюють. Питання лише в тому, чи використовуєте ви їх насправді.
ETH5,48%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
Додати коментар
Додати коментар
Немає коментарів
  • Закріпити