Аудит вне рамок - 11
Пока я полностью погружен в новый конкурсный аудит, предлагаю вам ознакомиться с интересным разбором уязвимостей протокола PartyDao, снова от Trust.
Обращаем внимание при аудите
Больше всего в данном отчете меня привлекло то, что, несмотря на огромное количество проверок при создании предложений (proposals) в Dao, всегда можно найти несколько критический уязвимостей.
Когда мы имеем дело с proposals, то должны проверять не малое количество сценариев и нюансов работы с ними:
1) В какие временные рамки можно создавать предложения? Можно ли указать прошедшее время?
2) Кто может создавать предложения?
3) Можно ли перезаписывать предложения?
4) Кто может голосовать?
5) Как фиксируются голоса: на основе баланса, по snapshot или как-то еще?
6) Можно ли создавать предложение и сразу активировать его, или есть период охлаждения?
7) Можно ли создавать несколько предложений с одного аккаунта?
8) Что будет если создающий предложение может быть в нескольких ролях: например, хакер и он же владелец NFT, пользователь и он же участник Dao, пользователь и он же покупатель NFT и т.д.
При этом особое внимание нужно обращать на проверки, типа require и if, продумывая, как и кто может обойти их.
В общем, аудит с proposals лучше проводить нескольким аудиторам, которые смогут посмотреть на проект с разных точек зрения.
#audit #outofbox
Post #751
585