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 devreden (hiçbir belirteç arz değişikliği olmadan) “Teklif #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 “initise()’i arayabildiklerini ve kendisini bu yönetişim sözleşmesinin tek koruyucusu olarak ayarlayabildiğini” açıkladı.
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 jetonunu kendi kontrollerindeki bir cüzdana kötü niyetli bir şekilde aktarmalarına izin verdi.
Çalınan jetonlar daha sonra, saldırganın cüzdanının blok zinciri verileri olan gizlilik takas hizmeti Tornado Cash’te, yazının yazıldığı sırada yaklaşık 1,08 milyon dolar değerinde olan 700’den fazla ether (ETH) ile değiştirildi – 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ı.