Подведение итогов TON Hack Challenge
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
TON Hack Challenge был проведен 23 октября. В TON mainnet было развернуто несколько смарт-контрактов с искусственно созданными уязвимостями. Каждый контракт имел баланс 3000 или 5000 TON, что позволяло участникам взломать его и немедленно получить вознаграждение.
Исходный код и правила контеста были размещены на GitHub [здесь] (https://github.com/ton-blockchain/hack-challenge-1).
Контракты
1. Паевой инвестиционный фонд
Всегда проверяйте функции на наличие модификатора impure
.
Первая задача была очень простой. Злоумышленник мог обнаружить, что функция authorize
не является impure
. Отсутствие этого модификатора позволяет ко мпилятору пропускать вызовы этой функции, если она ничего не возвращает или возвращаемое значение не используется.
() authorize (sender) inline {
throw_unless(187, equal_slice_bits(sender, addr1) | equal_slice_bits(sender, addr2));
}