Аудит вне рамок - 7
Аудитор Zzykxx, который под менторством популярного хакера Trust, написал статью, о том, как небольшой комментарий разработчиков в коде, помог ему найти уязвимость в контракте протокола Thena.
Это отличный пример логической уязвимости, когда разработчики создавали функцию для одного конкретного действия, но использовали ее в нескольких местах.
Обращаем внимание при аудите
Тут очень сложно описать момент, на который следует обращать внимание при проведении своего аудита. Лучшим указанием будет то, что аудитору нужно досконально понимать логику работы протокола, или же конкретной функции.
Так, без явного понимания, что supply НЕ должен был быть увеличен при слиянии токенов, так как он уже был учтен ранее, Zzykxx не смог бы найти этот баг.
Кстати, здесь можно сделать еще акцент на том, что аудитор должен понимать принципы инвариантов в контракте и уметь их находить в течение всего процесса. А это уже уровень намного выше продвинутого.
#audit #outofbox
Post #736
426
- 👍 4
- ❤ 1
- 😁 1