Yaklaşık 1,1 milyon dolar değerinde Audius’un AUDIO jetonları, projenin yönetim forumlarını içeren karmaşık bir saldırı kullanılarak hafta sonu boyunca çalındı.
Tokenize edilmiş bir müzik akışı projesi olan Audius, gelecekteki kararlar için topluluk oylamasına ve yönetişime güveniyor. Bununla birlikte, 23 Temmuz’da saldırganların sahte bir gönderi oluşturduğunu ve fonları çalmak için token oylarını manipüle ettiğini gösteren kötü niyetli bir teklif görüldü.
Saldırganlar başlangıçta, 10 trilyon AUDIO’yu stake sözleşmesine dahili olarak (token arzı değişikliği olmadan) devreden “Proposal #84”ü yayınladılar. Bu işlem, teklife oy verilmediği için başarısız oldu.
Saldırganlar daha sonra bir yönetim oylamasında 18 milyon AUDIO tokeninin transferini talep eden “Teklif #85”i yayınladılar. Audius geliştiricileri Pazartesi günü bir otopsi raporunda, saldırganların daha sonra “başlatmayı () çağırabildiler ve bu yönetişim sözleşmesinin tek koruyucusu olarak kendilerini ayarlayabildiler” dedi.
initialize() işlevi, bir programa akıllı bir sözleşmede ilk veri noktasını verir. Bu, saldırganın yalnızca yönetim teklifini kontrol etmesine ve teklif geçirilirken belirteçleri aktarmasına izin verdi.
85 No’lu Teklif sunulduktan sonra, oylara yaklaşık 10 trilyon AUDIO’nun devredildiği ve böylece teklifi saldırganın lehine çeviren bir işlem gerçekleştirildi. Dolaşımdaki arz etkilenmedi, ancak hatalı oylar Audius’un akıllı bağlantılarını kandırabildiği için teklif geçti. Bu, saldırganların Audius yönetim sözleşmesi tarafından tutulan ve “topluluk hazinesi” olarak adlandırılan 18 milyon AUDIO tokenini kötü niyetli bir şekilde kendi kontrollerindeki bir cüzdana aktarmalarına izin verdi.
Çalınan tokenler daha sonra, saldırganın cüzdanının blok zinciri verisi olan gizlilik takas hizmeti Tornado Cash’te, yazı yazılırken yaklaşık 1,08 milyon dolar değerinde olan 700’den fazla ether (ETH) ile takas edildi – 0xa62c3ced6906b188a4d4a3c981b79f2aabf2107f – gösteri.
Bu arada Audius geliştiricileri, bir hatanın saldırganın initialize() işlevini geçmesine izin verdiğini söyledi. Geliştiriciler, otopside “Ethereum ana ağında Audius yönetişimi, bahis ve delegasyon sözleşmeleri” dedi.
“[Bunlar], başlatma işlevlerinin tekrar tekrar çağrılmasına izin veren sözleşme başlatma kodundaki bir hata nedeniyle tehlikeye girdi” diye eklediler.
Audius geliştiricileri, istismar edilen sözleşmeler dizisinin daha önce OpenZeppelin ekibi tarafından denetlendiğini, ancak güvenlik açığının o sırada yakalanmadığını söyledi. Kalan tüm fonlar güvende ve düzeltmeler Pazartesi günü olduğu gibi dağıtıldı.