raineorshine/solgraph
این ابزار به تو کمک میکنه تا جریان کنترل کدهای Solidity رو به صورت بصری مشاهده کنی، مثل یه نقشه از راههای مختلفی که کد میتونه طی کنه.
این کار برای تحلیل امنیتی قراردادهای هوشمند خیلی مفیده، چون میتونی باگها، حلقههای خطرناک یا مسیرهای غیرمنتظره اجرا رو راحتتر پیدا کنی.
کاربرد:
این ابزار خروجی گراف جریان کنترل (Control Flow Graph) برای توابع قراردادهای Solidity تولید میکنه. این گرافها بهت کمک میکنن منطق کد رو بدون اجراش دقیقتر تحلیل کنی.
در چه شرایطی بهتره استفاده شود؟
وقتی داری یه قرارداد هوشمند رو امنیتی بررسی میکنی، مخصوصاً اگر کد پیچیدهای داره یا توابع طولانی داره، استفاده از solgraph میتونه خیلی کمککننده باشه. همچنین برای آموزش و فهم بهتر منطق قراردادها هم عالیه.
چند مثال از موارد استفاده:
بررسی مسیرهای اجرای تابع برای پیدا کردن vulnerabilities مثل reentrancy
تحلیل جریان داده در توابع پیچیده
مستندسازی منطق قرارداد برای تیم توسعه
آموزش و یادگیری نحوه عملکرد کدهای Solidity
- ##smart
- ##solidity
- ##security
- ##control
- ##blockchain
- ##ethereum
- ##smart
- ##static
- ##solgraph
- ##web3
