TGViewer
Noobing Security Research Noobing Security Research @web3securityresearch · 278 subscribers
Post #79 300
Formal Verification, часть 7.2
про _safeTransfer()


Что я имею в виду. Полный стек вызова выглядит так:

Staking._stake()
│
▼
SafeERC20.safeTransferFrom() ← CVL summary перехватывает ЗДЕСЬ
│
✗
SafeERC20._safeTransferFrom() ← никогда не достигается
✗
assembly call ← никогда не достигается
✗
Token.transferFrom() ← никогда не достигается


4. Решением стало проводить суммаризацию на уровне SafeERC20.safeTransferFrom(), до появления assembly блока, что позволило корректно менять состояние ghost переменной

Как обычно, теперь, оглядываясь назад, кажется, что это достаточно очевидные вещи, но это конечно не так, учитывая сколько времени я потратил на то, чтобы во всем этом разобраться. Естественно, что для погружения в эти дебри я использовал всю известную мне мощь нейронок, включая NotebookLM и Claude, это сильно помогло, но еще раз доказало насколько тяжело языковым моделям в новых областях знаний

https://t.me/web3securityresearch
Telegram Noobing Security Research Изучаю и пишу про безопасность смарт контрактов и агентов
  • ❤ 6
More from @web3securityresearch
  1. Sep 22, 2026Прочитал лекцию про атаки на память, оставлю слайды и здесь
  2. Sep 10, 2026Post #100
  3. Aug 27, 2026я бы рад писать короче, но тема очень широкая. Сегодня статья про HMAC-подписи записей аге…
  4. Aug 27, 2026Post #98
  5. Aug 18, 2026Post #97
  6. Aug 12, 2026Исследователи нашли первый подробно задокументированный, почти автономный, взлом государст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →