Son zamanlarda, bir güvenlik şirketi bir dijital koleksiyon sözleşmesinde iki ciddi açık buldu. Bu açıklar, kullanıcı varlıklarının kilitlenmesine veya proje ekibinin fonlarının çekilememesine neden olabilir.
İlk açık, iade işleme fonksiyonunda bulunmaktadır. Bu fonksiyon, tüm kullanıcılar için iade işlemi gerçekleştirmek için döngüsel bir yöntem kullanmaktadır, ancak eğer bir kullanıcı kötü niyetli bir sözleşme ise, iadeyi kabul etmeyi reddedebilir ve işlemi kesebilir, bu da tüm kullanıcıların iade işlemlerinin başarısız olmasına neden olur. Neyse ki, bu açık gerçekte kullanılmamıştır.
Benzer sorunların önlenmesi için, Proje Ekibi'nin aşağıdaki güvenlik önlemlerini alması önerilir:
Sadece bireysel kullanıcı hesaplarının projeye katılmasına izin verilir.
Yerel varlıklar yerine ERC20 token'ları kullanın
Kullanıcıların aktif olarak geri ödeme talep edebileceği bir mekanizma tasarlayın, toplu geri ödemeler yerine.
İkinci açık, koddaki bir mantık hatasından kaynaklanmaktadır. Proje fonlarını çekme işlevinde, bir koşul kontrol ifadesi bulunmaktadır, ancak karşılaştırılan nesne yanlıştır. Bu, koşulun asla sağlanamamasına neden olur ve Proje Ekibi sözleşmedeki varlıkları çekemez. Şu anda, 34 milyon dolardan fazla varlık bu sözleşmede kalıcı olarak kilitlenmiştir.
Bu sorunlar, tanınmış projelerin bile basit hatalar yapabileceğini bir kez daha vurguladı. Geliştirme sürecinde yeterli test ve temel güvenlik bilincinin önemi büyüktür. Merkeziyetsiz finans alanında güvenlik denetimi rutin bir uygulama haline gelmişken, dijital koleksiyon projelerinde güvenlik denetimi hala eksik kalmaktadır. Bu ihmal, doğrudan büyük miktarda finansal kayba yol açmıştır.
Bu olay, proje ölçeği ne olursa olsun, kod güvenliğine önem verilmesi, kapsamlı testler ve denetimler yapılması gerektiğini hatırlatıyor, böylece benzer büyük kayıpların bir daha yaşanmasını önleyebiliriz.
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
21 Likes
Reward
21
6
Share
Comment
0/400
MeaninglessGwei
· 19h ago
Küçük projeleri test etmeden doğrudan piyasaya sürmek, ne oynamak?
Dijital koleksiyon sözleşmesi açığı 34 milyon dolarlık kalıcı kilitlenmeye neden oldu; güvenlik denetiminin önemini vurguladı.
Son zamanlarda, bir güvenlik şirketi bir dijital koleksiyon sözleşmesinde iki ciddi açık buldu. Bu açıklar, kullanıcı varlıklarının kilitlenmesine veya proje ekibinin fonlarının çekilememesine neden olabilir.
İlk açık, iade işleme fonksiyonunda bulunmaktadır. Bu fonksiyon, tüm kullanıcılar için iade işlemi gerçekleştirmek için döngüsel bir yöntem kullanmaktadır, ancak eğer bir kullanıcı kötü niyetli bir sözleşme ise, iadeyi kabul etmeyi reddedebilir ve işlemi kesebilir, bu da tüm kullanıcıların iade işlemlerinin başarısız olmasına neden olur. Neyse ki, bu açık gerçekte kullanılmamıştır.
Benzer sorunların önlenmesi için, Proje Ekibi'nin aşağıdaki güvenlik önlemlerini alması önerilir:
İkinci açık, koddaki bir mantık hatasından kaynaklanmaktadır. Proje fonlarını çekme işlevinde, bir koşul kontrol ifadesi bulunmaktadır, ancak karşılaştırılan nesne yanlıştır. Bu, koşulun asla sağlanamamasına neden olur ve Proje Ekibi sözleşmedeki varlıkları çekemez. Şu anda, 34 milyon dolardan fazla varlık bu sözleşmede kalıcı olarak kilitlenmiştir.
Bu sorunlar, tanınmış projelerin bile basit hatalar yapabileceğini bir kez daha vurguladı. Geliştirme sürecinde yeterli test ve temel güvenlik bilincinin önemi büyüktür. Merkeziyetsiz finans alanında güvenlik denetimi rutin bir uygulama haline gelmişken, dijital koleksiyon projelerinde güvenlik denetimi hala eksik kalmaktadır. Bu ihmal, doğrudan büyük miktarda finansal kayba yol açmıştır.
Bu olay, proje ölçeği ne olursa olsun, kod güvenliğine önem verilmesi, kapsamlı testler ve denetimler yapılması gerektiğini hatırlatıyor, böylece benzer büyük kayıpların bir daha yaşanmasını önleyebiliriz.