خزانه استیکینگ قدیمی Yieldly بدون بررسی پرداخت، ALGO خود را آزاد کرد
پنج پرداخت در عرض نود و دو ثانیه حدود ۳۹۰٬۰۰۰ ALGO را از خزانه استیکینگ قدیمی Yieldly خارج کردند، مدتها پس از آنکه به دارندگان گفته شده بود برداشت کنند. به نظر میرسد برنامه امانی آن هر پرداختی را بدون بررسی گیرنده، مبلغ یا دارایی تأیید میکند. این حساب اکنون ۰٫۲۰۱۰۷ ALGO دارد.

پنج پرداخت در صبح روز ۱۵ اکتبر ۲۰۲۶ در عرض نود و دو ثانیه از یک حساب قرارداد استیکینگ Yieldly خارج شدند. این پرداختها روی هم حدود ۳۹۰٬۳۷۷ ALGO را از خزانهای بیرون بردند که پروژه سه سال پیش به کاربرانش گفته بود آن را خالی کنند. اولی حدود ۱۴٬۳۷۴1 ALGO و آخری حدود ۱۷۴٬۷۶۳ ALGO بود. قرارداد پرداخت کرد چون دفاتر خودش با واریزی بستانکار شده بود که هرگز نرسیده بود، آن هم در توکنی که هرگز نگه نداشته بود.
این حساب همان امانی پشت اپلیکیشن غیرمتمرکز استیکینگ قدیمی Yieldly است، جایی که دارندگان توکنهایشان را برای کسب پاداش میگذاشتند. پروژه در آوریل ۲۰۲۳ و دوباره در ژوئیه همان سال به آنها گفت سهام خود را بیرون بکشند. آنچه خزانه هنوز در خود داشت ALGO بود و پشت برنامهای منتشرشده باقی ماند که به نظر میرسد نه گیرنده و نه مبلغ پرداختی را که امضا میکند نمیخواند.
توکنی که هشت ثانیه پیش از خرج شدن ضرب شد
حسابی که پول را گرفت همان صبح باز شد و با ۱2 ALGO شارژ شد. توکنی به نام FUEL ضرب کرد بدون اعشار و بدون نقش مدیر، مسدودسازی، بازپسگیری یا ذخیره. سازندهاش کل عرضه را به آدرس خودش فرستاد، انتقالی که هیچ موجودی را تغییر نداد.
هشت ثانیه بعد، امانی به همان حساب ۳٬۲۳۹٬۷۰۶٬۹۰۳٫۷۴۳۶۷۲3 YLDY پرداخت کرد، حدود ۳٫۲۴4 میلیارد توکن، یک سوم عرضه ۱۰5 میلیارد. به نظر میرسد برنامه استیکینگ برای هر حساب موجودی نگه میدارد و مبلغ یک انتقال را بدون مقایسه شناسه دارایی به آن اضافه میکند. FUEL در واحدهای کامل و YLDY در میلیونیمها شمارش میشود، بنابراین شمارش خام یک توکن به جای دیگری خوانده شد.
بستانکار کردن آن موجودی نیازی به فرستادن چیزی به امانی نداشت. برنامه بررسی جلوی مسیر واریز برای هر فراخوانی که یک موقعیت را میبندد بدون خواندن هیچ آرگومانی موفقیت برمیگرداند، بنابراین مسیر محافظتشده قابل دور زدن است. سپس شاخه واریز مبلغ یک پرداخت را بدون تأیید رسیدن پول به حسابی که وجوه را نگه میدارد بستانکار میکند.
برداشتها همین شکل را دارند. هر یک از این پنج مورد حدود هشت ثانیه پیشتر با پرداخت همان مبلغ توسط همان حساب به خودش همراه بود، از حدود ۱۴٬۳۷۴6 ALGO تا حدود ۱۷۴٬۷۶۳، در گروههایی که موجودی هیچ آدرسی تغییر نکرد. واریزها ثبتهایی در سوابق خود قرارداد بودند. ALGOی که خارج شد موجودی خود قرارداد بود، نه چیزی که فرستنده گذاشته بود.
خزانهای که هیچ چیز درباره پرداخت نخواند
حسابی که پرداخت را انجام داد یک امضای منطقی است، برنامهای کوچک بدون کلید خصوصی برای دزدیدن. استقراردهنده Yieldly آن را در ۵ ژوئن ۲۰۲۱ با ۲ ALGO باز کرد. برنامه منتشرشدهاش به نظر میرسد پرداختی را تحت سه شرط تأیید میکند. گروه باید بین دو تا شش تراکنش داشته باشد و اولی باید فراخوانی یک اپلیکیشن خاص Yieldly باشد. هیچیک از دو تراکنش اول نباید بازکلید تنظیم کند. به نظر میرسد هیچ گیرنده، مبلغ یا دارایی پرداختی را که امضا میکند نمیخواند.
در چارچوب این شرایط میتوانست پرداختی به هر اندازه، در هر دارایی، به هر آدرسی را امضا کند. بر این خوانش، ظاهراً نیازی به شکستن چیزی نبود و نیازی به یافتن کلیدی نبود. برنامه ظاهراً هیچ چیزی درباره فرستنده پرداخت نمیپرسد، بنابراین یک outsider و یک کاربر سابق شرایط یکسانی داشتند. صفحه حساب امانی7 اکنون ۰٫۲۰۱۰۷8 ALGO نشان میدهد، کمی بالاتر از حداقل ۰٫۲ ALGO که آن را باز نگه میدارد.
آن ۴۰۰ هزار در تیتر، پرداختی است که بعداً انجام شد
رشتهای9 که این موضوع را در r/AlgorandOfficial مطرح کرد گفت قرارداد استیکینگ «به مبلغ ۴۰۰10 هزار Algo هک شده» و به ممیزی سال ۲۰۲۱ Halborn اشاره کرد. پاسخها بین هک خواندن آن و سرزنش گردانندگان تقسیم شد. رقم پشت تیتر، ۴۰۴٬۷۵۱٫۱۴۰۸۷۷11 ALGO، یک انتقال واحد است که کیف پول دریافتکننده چهار دقیقه پس از آخرین برداشت انجام داد و بزرگتر از آن چیزی است که خزانه آزاد کرد.
این مبلغ پول خزانه بهعلاوه عواید توکنهای بستانکارشده است. حساب ۱٬۸۹۸٬۱۶۳٬۵۰۸٫۴۴۲۰۹۸12 YLDY را به یک حساب قرارداد در ازای ۸٬۴۳۵٫۷۳۴۸۵۴13 ALGO فروخت و ۱٬۳۴۱٬۵۴۳٬۳۹۵٫۳۰۱۵۷۳14 YLDY را به یک استخر Tinyman در ازای ۵٬۹۳۴٫۴۹۰۳۸۹15. این دو فروش ۱۴٬۳۷۰٫۲۲۵۲۴۳16 ALGO به ارمغان آورد. با افزودن آن به مبلغی که خزانه آزاد کرد، جمع به چند ALGO کمتر از ۴۰۴٬۷۵۱٫۱۴۰۸۷۷17 ارسالشده میرسد، تفاوتی که سوابق آن را پر نمیکند.
خود YLDY اکنون ارزش کمی دارد: حدود ۲٬۸۷۸ دلار ارزش بازار، بر پایه ۱۳٫۴۴ دلار معامله در یک روز، تا ۱۹ اکتبر.
پرداخت بعدی در عرض چند ساعت دوباره جابهجا شد. از دو حساب معمولی دیگر گذشت و آخری ۲۲۰٬۰۰۰ ALGO را در ۱۹ اکتبر به بعد فرستاد. هیچیک از این سه به نامی نمیرسد.
ممیزی کد متفاوتی را آزمایش کرد
قرارداد ممیزی Halborn از ۸ تا ۱۹ مه ۲۰۲۱ اجرا شد و قراردادهای قرعهکشی Yieldly را پوشش داد. گزارش18 میگوید تحت محدودیت زمان و منابع، تنها ضروریترین جنبهها آزمایش شدهاند. بر اساس این گزارش، یکی از پنج یافته آن، HAL-02، با رتبه پایین، تراکنشهایی را توصیف میکرد که از پروکسی عبور نمیکردند در حالی که امانی انتظار داشت عبور کنند، در همین مرز.
برنامههایی که پرداخت را انجام دادند بعداً عرضه شدند. هر دو اپلیکیشن استیکینگ آخرین بار در ۲ ژوئیه ۲۰۲۱، پس از پایان قرارداد ممیزی، بهروزرسانی شدند و از آن پس هیچکدام تغییر نکردهاند. استناد به آن ممیزی به عنوان تضمینی برای خزانه استیکینگ، اعتماد را به کدی میسپارد که در اکتبر اجرا نمیشد.
سه سال پس از اطلاعیه تعطیلی
Yieldly در آوریل ۲۰۲۳ به دارندگان گفت برداشت کنند، سپس دوباره در ژوئیه. پست ۲۰ آوریل19 چنین بود: «سهام خود را از استیکینگ Yieldly قبل از آنکه اپلیکیشن غیرمتمرکز در عرض ۳۰ روز آفلاین شود خارج کنید،20» و پایان مه را برای برچیدن تعیین کرد. یک اطلاعیه ۲۵ ژوئیه21 از کاربران خواست «وجوه خود را از استیکینگ Yieldly قبل از ساعت ۱۰ شب به وقت EST ۲۶ ژوئیه خارج کنید22». پنج پرداخت ۱٬۱۷۷ روز پس از آن مهلت انجام شدند.
Yieldly درباره این انتقالها چیزی نگفته است. کانال اطلاعیههایش23 از مارس ۲۰۲۴ پستی منتشر نکرده، فید Mediumش24 از آوریل ۲۰۲۳ و حساب Xش25 چیزی دیرتر از ژانویه ۲۰۲۵ ندارد.
اپلیکیشن غیرمتمرکز رفته است؛ قراردادها ماندند. امانی هنوز در سال ۲۰۲۵ YLDY بیرون میفرستاد، از جمله ۱۱۲٬۳۷۶٬۴۰۸٫۲۷۲ توکن در یک انتقال در ۴ اوت، پس برنامه هنوز به کسی پاسخ میداد. آنچه هم داشت ALGO بود و همان است که رفت. سایر امانیهای اپلیکیشنهایی که برنامهها نام میبرند اکنون چیزی در خود ندارند.
منابع
۱۷ رقم این گزارش بررسی شده است. ۶ مورد مستقیماً از زنجیره خوانده شد.دیدن همهٔ بررسیها