Безопасность и аудит
Сегодня мы продолжим говорить о безопасности смарт контрактов и поднимем тему использования сторонних программ для тестов на уязвимости.
Повторю, что эти посты не углубят вас в суть аудита, а только дадут направление для дальнейшей работы. Если подумать, то аудит - это отдельная хорошо оплачиваемая работа. И нужно долго практиковаться на реальных контрактах, чтобы постичь нюансы проверок.
Итак, для начала нужно понять сам ход проведения тестов, ведь было бы глупо после каждой написанной функции "врубать" проверку.
1. Посмотрите на популярные уязвимости и пройдитесь по своему коду еще раз.
2. Напишите в контракте комментарии к коду, если вдруг захотите отдать другими людям на проверку.
3. Напишите свои тесты в hardhat (или в той среде, где вы работаете) с solidity coverage на 100%.
4. Запустите быстрые тесты со сторонними программами slither, linters, static analysis и др.).
5. Запустите более продвинутые тесты (echidna, manticore, symbolic execution, MythX).
6. Передайте на аудит, если есть хоть "грамм" сомнений.
Даже все эти шаги не смогут гарантировать 100% безопасность вашего смарт контракта!
#безопасность #тесты
Post #365
242
- 👍 1