Аудит вне рамок - 10
У меня какой-то период восхищения работой аудитора Trust. Если, читая обычные отчеты, мне попадались описания достаточно прямолинейных уязвимостей, то у него они какие-то более изощренные.
Вот один из его отчетов для протокола Holograph. Описания багов вы можете найти в статье, а я, как обычно, укажу на некоторые моменты.
Обращаем внимание при аудите
1) Несколько ошибок было, где функция полагалась на tx.gasprice. Это могло привести как к средним, так и высоким степеням риска. Складывается такое ощущение, что "tx." вообще должен стать красным флагом для аудитора.
2) Если протокол работает на нескольких сетях, то нужно учитывать стоимость газа на той, которая будет оплачивать проведение транзакции.
3) Если протокол использует свои собственные вариации стандартов ERC20, ERC721, ERC1155 и других, то нужно очень внимательно их изучить, чтобы понимать разницу в кодах и представлять, к чему могут привести последствия.
4) Если работаете с количеством газа, то обращайте внимание, в каком месте в assembly учитывается этот opcode.
5) Если в проекте используются EIP, которые официально не добавили в сеть, то нужно дополнительно изучать его документацию, на предмет возможности использования в протоколе.
6) Не подсчитывайте стоимость газа для пересылки самого Эфира, так как он может "застрять" в контракте навсегда.
Отличный отчет, который помог мне узнать, что в контрактах могут быть большие проблемы, если он использует собственные функции для работы с количеством газа.
#audit #outofbox
Post #748
526
- 👍 3