29 Ekim’de Polymarket’in uluslararası platformundaki kullanıcılar, kendilerinin başlatmadığı pozisyon satışları ve para çekme işlemleri bildirmeye başladı. Platform yeni işlemleri ve relayer faaliyetlerini geçici olarak durdurdu, ardından üçüncü taraf bir sağlayıcının ele geçirildiğini açıkladı.
Bitquery’nin tahminine göre bir saat içinde 737 hesaptan yaklaşık 2,73 milyon dolar çıktı. Bu, Polymarket’in resmi bilançosu değil: platform etkilenen hesap sayısını veya nihai kaybı açıklamadı.
Bitquery bozulmuş bir akıllı sözleşme bulmadı. Para çekme işlemleri geçerli onaylar taşıdı ve Polymarket’in olağan altyapısından geçti. Hesap sahipleri bunları istemediklerini söylese de sistem açısından teknik olarak yetkili görünüyorlardı.
Olayın zaman çizelgesi
İlk çıkışlar 17:10 UTC’de başladı. İlk dalgada beş hesap boşaltıldı; bunlardan biri yaklaşık 75.000 dolar kaybetti. 13 dakikalık aradan sonra hız dakikada 40 işleme kadar çıktı.
18:10 UTC itibarıyla Bitquery 737 hesap saymıştı. En büyük tekil kayıp yaklaşık 358.000 dolar oldu. Cüzdanların %39’u 100 dolardan az kaybederken dört hesap izlenen tutarın %43’ünü oluşturdu. 33 hesaptan açık pozisyonlar da aktarıldı.
18:05 UTC’de resmi durum sayfası cancel-only modunu duyurdu: mevcut emirler iptal edilebiliyor, ancak yeni emir veya işlem yapılamıyordu. Relayer da durduruldu.
18:37 UTC’de Polymarket sorunu belirleyip düzelttiğini açıkladı. Olayı ele geçirilmiş bir üçüncü taraf sağlayıcıya bağladı, yetkili makamlara iletti ve etkilenen kullanıcıların tamamen tazmin edileceğini söyledi. Olay 19:05 UTC’de çözülmüş olarak işaretlendi.
Harici bir betik fonlara nasıl ulaşabildi?
Modern bir platform analiz, performans izleme, destek ve hata tespiti için harici bileşenler yükler.
Bu entegrasyonu her kullanıcı değil, site sahibi kurar. Bu olayda araştırmalar Polymarket sitesine gömülü bir izleme betiğine işaret ediyor. Kullanıcı platformu açtığında tarayıcı bu bileşeni sayfanın geri kalanıyla otomatik olarak yüklüyordu. Kullanıcıların ayrıca bir DebugBear uygulaması veya uzantısı kurması gerekmiyordu.
Bu kod zaten güvenilen sayfanın içinde çalışır. Sağlayıcısı ele geçirilirse kötü amaçlı kod normal entegrasyon üzerinden gelebilir ve açık bir kullanıcı oturumuyla etkileşime girebilir.
Polymarket sağlayıcının adını açıklamadı. Ancak Associated Press ve başka yayınlar olayı DebugBear ile ilişkilendirdi. Şirket aynı gün kendi güvenlik olayı hakkında bilgi verdi ve müşterilerine Real User Monitoring kodunu kaldırmalarını önerdi.
BleepingComputer kötü amaçlı JavaScript’in bir kopyasını inceledi. Rapora göre kod aktif oturumu kontrol ediyor, bakiye ve pozisyonları değerlendiriyor ve bunları taşımak için Polymarket’in olağan işlevlerini kullanmaya çalışıyordu.
Bu bir akıllı sözleşme açığı değildir. Sözleşme onayı doğru biçimde kontrol edip aldığı talimatı aynen uygulayabilir. Sorun daha önce, oturum açmış kullanıcı adına işlemi hazırlayan arayüzde ortaya çıkar.
Deposit wallet, approval ve relayer
Deposit wallet, hesabın fonlarını Polygon üzerinde tutar. Bitquery’ye göre burada bire bir USDC teminatlı pUSD bulunuyordu.
Approval, belirli bir işleme izin verir. Blockchain açısından kriptografik olarak geçerli bir talimattır. Ancak ağ, kişinin işlemi gerçekten isteyip istemediğini, arayüzün değiştirilip değiştirilmediğini veya dış kodun oturumu kötüye kullanıp kullanmadığını bilemez.
Relayer, işlemi ağa gönderir ve ağ ücretini kullanıcı adına öder. Bitquery’ye göre bu yol teknik açıdan normal çalıştı. Değişen şey hedefti: fonlar saldırganın kontrolündeki adrese gönderildi.
Bu nedenle geçerli onay, gönüllü para çekme anlamına gelmez. İlki blockchain’in doğruladığını, ikincisi insanın niyetini anlatır.
Zincir üzerinde açık bir anomali
Ana dalga relayer’ın durdurulmasıyla neredeyse aynı anda sona erdi. Önceki iki haftada Relay üzerinden POL’e çevrilen para çekme işlemlerinin günlük medyanı yaklaşık 47 idi. 29 Ekim’de tek bir adres 981 transfer aldı.
Otomatik izleme; yüzlerce hesabı, aynı hedef adresi, işlem sıklığındaki ani artışı, çekimden hemen önce satılan pozisyonları ve normal davranıştan büyük sapmayı birlikte değerlendirebilir.
Bitquery’ye göre fonlar POL’e çevrildi, ana adreste toplandı, ardından yeni cüzdanlara dağıtılıp Ethereum yönünde taşınmaya başladı. Yeni bir Polymarket hesabının da alınan pozisyonları satmak veya dönüştürmek için kullanıldığı belirtildi.
Son veri anında, 19:49 UTC’de izlenen fonların çoğu hâlâ Polygon’daydı. Bu nihai bilanço değil, belirli bir anın görüntüsüdür.
Rakamlar neden tahmin olarak kalıyor?
Zincir üstü veriler adresleri, miktarları ve zamanı gösterir; ancak saldırganı tek başına belirlemez veya her onayın nasıl elde edildiğini açıklamaz. Bitquery bulabildiği rotayı saydı; başka adresler ya da yöntemler toplamı değiştirebilir.
Bu nedenle doğru ifade şöyledir: Bitquery, 737 hesaptaki izlenebilen kaybı 2,73 milyon dolar olarak tahmin etti. Polymarket bu rakamları resmi olarak doğrulamadı.
Tazminat ve platform sorumluluğu
Polymarket etkilenen herkesi tamamen tazmin edeceğini açıkladı. Yayın sırasında nihai hesap sayısı, toplam ödeme ve tamamlanma takvimi açıklanmamıştı.
Kullanıcı açısından dış sağlayıcı ürünün bir parçasıdır. Müşteri akıllı sözleşme, relayer ve izleme aracını ayrı ayrı kullanmaz. Harici bağımlılık güvenilen arayüz içinde çalışıyor ve yetkili oturuma erişebiliyorsa onun güvenliği de platform güvenliğinin parçasıdır.
Polymarket Haziran 2026’da da ele geçirilmiş başka bir sağlayıcının bazı kullanıcıların frontend’ine kötü amaçlı kod eklediği bir olay bildirmişti. İki olay aynı risk kategorisindedir, ancak aynı teknik yöntemin kullanıldığını veya doğrudan bağlantı bulunduğunu söylemek için yeterli kanıt yoktur.
Güvenli akıllı sözleşme tüm sistemi korumaz
Blockchain bir işlemin teknik kurallara uygun olduğunu doğrulayabilir. Kişinin dürüst bir arayüz gördüğünü, hedef adresi anladığını ve tam olarak o işlemi yapmak istediğini doğrulayamaz.
Tam güvenlik zinciri şöyledir:
harici kod → tarayıcı oturumu → onay → relayer → akıllı sözleşme → hedef adres
29 Ekim’de zincirin sonu tasarlandığı gibi çalıştı. Başlangıcındaki ele geçirme, doğru yürütmenin kullanıcılar açısından yanlış sonuç üretmesine yetti.
Polymarket işlemleri sınırladı, ticareti yeniden açtı ve tazminat sözü verdi. Şimdi bu ödemelerin doğrulanması ve başka bir dış bağımlılığın yeniden geçerli fakat istenmeyen işlemler üretmesini önleyecek değişikliklerin açıklanması gerekiyor.


