
Web3 & DeFi Researcher | Agentic Economy & ZK | Building on @arc | Building Tarım Motoru 🌱 | SEO, GEO & AEO | Verification over trust.
Turkey
Joined August 2019
- Tweets13.1K
- Following1.5K
- Followers1.1K
- Likes25.6K
Pinned Tweet
Bir millet önce toprağını kaybetmez. Toprağıyla arasındaki bilgiyi kaybeder. Sonra ne ekeceğini, ne üreteceğini ve sonunda ne yiyeceğini başkaları belirler.
Tarım yalnızca toprağa tohum atmak değildir.
Ne yetiştirmeye değer?
Bölgede gerçekten ne üretiliyor?
İklim ne söylüyor?
Su ve toprak ne durumda?
Gelecek koşullar nasıl değişebilir?
Piyasa nasıl hareket ediyor?
Pazara erişim nasıl?
Varsa doğrulanmış üretim maliyeti verileri ne gösteriyor?
Bugün tarım yapmak isteyen biri bu soruların cevaplarını çoğu zaman farklı kaynaklarda, farklı biçimlerde ve birbirleriyle karşılaştırılması güç halde buluyor.
Tarım Motoru'nu bunun için geliştirmeye başladım.
Elinizde bir arazi varsa harita üzerinden seçip o bölgede hangi ürünlerin araştırmaya değer olduğunu ve bu sonucun arkasındaki verileri inceleyebiliyorsunuz.
Aklınızda belirli bir ürün varsa bu kez Türkiye haritası üzerinden hangi bölgelerden araştırmaya başlamanın daha anlamlı olduğunu görebiliyorsunuz.
Ama sistem size tek bir puan verip “bunu yetiştir” demiyor.
İklimi, gerçek üretimi, suyu, toprağı, gelecek iklim koşullarını, piyasa bağlamını ve pazar erişimini mümkün olduğunca ayrı ayrı gösteriyor.
Çünkü tarımda doğru karar, tek bir veriden çıkmaz.
Bugün Tarım Motoru'nun Versiyon 1 olarak ilk çalışan prototipini yayınlıyorum.
Bu henüz başlangıç.
Üretim maliyetleri, ekonomik değerlendirme, daha güçlü piyasa verileri, üreticiyle alıcı arasındaki doğrudan bağlantılar ve karar sürecini geliştirecek daha birçok katmanın zamanla eklenmesini hedefliyorum.
Ama hedefim yalnızca daha iyi bir yazılım yapmak değil.
Üreticinin bilgiye daha kolay ulaşabildiği, alıcının üreticiye daha doğrudan erişebildiği, gereksiz aracı maliyetlerinin azalmasına katkı sağlayabilecek ve tarımsal fiyat oluşumunu daha şeffaf hale getirebilecek bir yapının oluşmasına katkı vermek istiyorum.
Çünkü gıda enflasyonuyla mücadele yalnızca marketteki etikete bakarak yapılamaz.
Üretimin nasıl planlandığına, bilginin kimde olduğuna, üreticiyle alıcının birbirine nasıl ulaştığına ve ürünün pazara hangi koşullarda çıktığına da bakmak gerekir.
Ve bunun tek başına bir yazılımla çözülebileceğine inanmıyorum.
Çiftçilerin, kooperatiflerin, alıcıların, lojistikçilerin, araştırmacıların, kamunun, geliştiricilerin ve bu alanda deneyimi olan herkesin katkısıyla Tarım Motoru'nun çok daha güçlü bir sisteme dönüşebileceğine inanıyorum.
Bu Versiyon 1. İlk prototip yayında.
Tarım Motoru size ne ekeceğinizi söylemek için değil, neye bakmadan karar vermemeniz gerektiğini göstermek için var.
tarimmotoru.com.tr/
Dün paylaştığım teknik araştırmanın ardından, konuyu Ethereum'u ve akıllı sözleşmeleri bilmeyenlerin de anlayabileceği şekilde anlatmak istiyorum.
Çünkü bu olay, kripto varlıkların güvenliğinin yalnızca özel anahtarları saklamaktan ibaret olmadığını gösteren ciddi bir örnek.
Önce EIP-7702 nedir?
Normalde Ethereum cüzdanınızın işlemlerini özel anahtarınızla imzalarsınız.
EIP-7702 ise cüzdanınıza akıllı sözleşme özellikleri kazandırır. Geçerli bir yetkilendirme imzasıyla, hesabınızın belirli bir sözleşmenin kodunu kendi hesabıymış gibi çalıştırmasını sağlayabilirsiniz.
Bunu bir banka kasası üzerinden düşün.
Kasanızın anahtarı sizde. Ancak kasayı yönetmesi için bir otomasyon sistemine de yetki verebiliyorsunuz.
Doğru tasarlanmış bir sistem, işlemleri kolaylaştırabilir ve güvenli biçimde otomatikleştirebilir.
Ama yetki verdiğiniz yazılım kötü niyetliyse veya kontrolü başkasının eline geçerse, o yazılımın sahip olduğu yetkiler ciddi bir tehlikeye dönüşebilir.
Peki Binance saldırısında ne oldu?
Saldırgan, Binance 14 olarak bilinen sıcak cüzdan adına geçerli bir EIP-7702 yetkilendirmesi kullandı.
Böylece Binance 14 hesabı, saldırganın kontrol ettiği bir sözleşmenin kodunu çalıştırabilir hâle geldi.
Yetkilendirme kabul edildikten yalnızca 3 dakika 24 saniye sonra saldırganın belirlediği operatör, sweep() fonksiyonuyla büyük varlık transferlerini başlattı.
Araştırmayı ilerlettiğimde daha önemli bir bağlantıyı da doğruladım.
Binance 14, başka bir akıllı hesabın da sahibiydi. Saldırgan, Binance 14 üzerinden bu hesabı da çalıştırarak 823 milyon USDC'nin toplama adresine aktarılmasını sağladı.
Yani bir cüzdanın kötüye kullanılan yetkisi, yalnızca kendi bakiyesini değil, kontrol ettiği başka hesapların varlıklarını da riske atabiliyor.
Peki EIP-7702'de bir güvenlik açığı mı var?
Burada önemli bir ayrım yapmalıyız.
EIP-7702, Ethereum'un kullanıma aldığı gerçek bir özellik. Tek başına bir güvenlik açığı değil.
Ancak çok güçlü yetkiler tanımlayabildiği için ağır sorumluluklar yüklendiği için zaafiyetleri de barındırabiliyor.
Yetkilendirme hangi kodu çalıştırıyor? Bu kodu kim kontrol ediyor? Hangi işlemlere izin veriyor? Yetki gerektiğinde nasıl iptal ediliyor?
Bunların tamamı kritik.
Üstelik EIP-7702 delegasyonu tek işlemle sınırlı olmak zorunda değil. Değiştirilene veya kaldırılana kadar geçerli kalabiliyor.
Asıl cevap bekleyen soru ise şu:
Saldırgan Binance 14 adına geçerli bir EIP-7702 yetkilendirme imzasını nasıl elde etti?
Özel anahtar mı ele geçirildi? Yoksa Binance'in yetkili imzalama sistemi mi kötüye kullanıldı?
Bunu henüz kesin olarak bilmiyoruz.
Zincir üzerindeki kayıtlar, saldırganın bu yetkiyi nasıl kullandığını gösteriyor. Fakat yetkinin ilk olarak nasıl elde edildiğini açıklamıyor.
Bu olayın güvenlik açısından en önemli dersi şu:
Bir cüzdanı korumak, yalnızca özel anahtarının çalınmasını önlemek değildir. O anahtarın hangi işlemleri imzalayabildiği, hangi kodlara yetki verebildiği ve bu yetkilerin nasıl sınırlandırıldığı da aynı güvenlik zincirinin parçalarıdır.
Dünkü makalemden sonra yaptığım ek incelemelerde, 50 yetkilendirme imzasını bağımsız doğruladım, saldırı öncesi hazırlık izlerini buldum ve 823 milyon USDC'ye uzanan sahiplik ilişkisini işlem kayıtlarıyla ortaya koydum.
Yeni teknik bulguları ve kanıtlarını aşağıdaki paylaşımda anlatıyorum.
İngilizce detaylı makale olarak yazdım ama Türkçe özetleyeyim. @binance olayının özü EIP-7702 yetkilendirmesi.
Ethereum işlemlerini, Etherscan, Blockscout API ve doğrudan EVM bytecode analiziyle inceledim.
15:59 UTC'de bir delegasyon sözleşmesi oluşturuluyor.
20:20 UTC'de Binance 14 adına EIP-7702 yetkilendirmesi gerçekleşiyor. İşlemdeki 50 yetkilendirme kaydından yalnızca biri kabul ediliyor.
Tam 3 dakika 24 saniye sonra, aynı operatör sweep() fonksiyonunu çalıştırarak Binance 14'ten büyük miktarda ETH ve ERC-20 token transferini başlatıyor. Ardından Binance 16 ve 34 kaynaklı büyük fon hareketleri de aynı toplama adresinde birleşiyor.
Asıl çarpıcı bulgu sözleşmenin çalışma kodunda.
İncelediğim 1.674 byte'lık bytecode içerisinde işlem başlatıcısının adresi beş kez sabitlenmiş. Dört ayrı yürütme yolunda operatör kontrolü bulunuyor ve yetkisiz çağrılar REVERT ile reddediliyor.
Ayrıca yaklaşık 975 milyon USDT ve 823 milyon USDC'nin bulunduğu toplama adresinin her iki stablecoin sözleşmesinde de kara listeye alındığını doğruladım.
Zincir üstü veriler, fonların hangi yetkilendirme mekanizmasıyla hareket ettirildiğini gösteriyor. Ancak geçerli EIP-7702 imzasının nasıl elde edildiği henüz bilmiyorum, araştıracağım.
Özel anahtarın ele geçirilmesi, imzalama altyapısının kötüye kullanılması veya önceden üretilmiş imzaların sızması birbirinden farklı ihtimaller. Hep sizlere yazdığım konular yani.
Bu olayın bana göre en önemli kısmı şu:
Bir cüzdanın güvenliği yalnızca özel anahtarını korumakla sınırlı değil. Hesabın hangi kodu, kimin yetkisiyle çalıştırabileceğini kontrol etmek de en az onun kadar kritik.
Araştırmamda doğruladığım işlem kayıtlarını, sözleşme adreslerini ve teknik kanıtları makalede paylaştım ama önemli olanlar bu aşağıdakiler
Delegasyon sözleşmesinin oluşturulması
29 Ekim, 15:59:11 UTC
etherscan.io/tx/0x97408e7562…
Binance 14 EIP-7702 yetkilendirmesi
20:20:59 UTC | 50 kayıt, 1 başarılı
etherscan.io/tx/0xad99264d55…
İlk büyük sweep işlemi
20:24:23 UTC
etherscan.io/tx/0x53bd38b816…
Binance 16, 28.005,6 ETH
etherscan.io/tx/0x51f263fa50…
195.460 ETH çıkışı
etherscan.io/tx/0x551d796165…
Binance 34, 780 milyon USDC
etherscan.io/tx/0xdc102dd89d…
İkinci sweep işlemi
etherscan.io/tx/0x31c4c9fe28…
Delegasyon sözleşmesi
etherscan.io/address/0x63e84…
EIP-7702 teknik standardı
eips.ethereum.org/EIPS/eip-7…
Terminal çıktıları: Blockscout API ve EVM bytecode analizi. Bu kayıtlar yürütme mekanizmasını doğruluyor; ilk ihlal yöntemini kanıtlamıyor.
Binance saldırısı araştırmama güncelleme: Yeni kanıtlar ve hala açıklanamayan imzalama yetkisi.
Dünkü EIP-7702 analizimin ardından araştırmaya devam ettim. Bu kez fon hareketlerini yeniden anlatmak yerine, saldırı öncesindeki işlemleri, yetkilendirme imzalarını ve 823 milyon USDC'nin aktarılmasını sağlayan sahiplik ilişkisini inceledim.
1. Binance 14 adına oluşturulan 50 imzanın tamamını kriptografik olarak doğruladım.
EIP-7702 mesaj özetleri ve secp256k1 public-key recovery yöntemiyle yaptığım kontrolde 50 imzanın tamamı Binance 14 adresini verdi.
Ancak zincir üzerinde yalnızca nonce 18914809 kabul edilmiş.
Blok 26300753'te Binance 14'ün nonce 18914808 kullanan normal işlemi 133. pozisyonda, saldırganın yetkilendirme işlemi ise 138. pozisyonda gerçekleşmiş.
Dolayısıyla geçerli nonce, saldırganın hazırladığı 50 imzadan biriyle tam olarak eşleşmiş.
Bu, yüksek işlem hacmine sahip cüzdanın değişen nonce değerini yakalamak için geniş bir imza aralığı hazırlanmış olmasıyla güçlü biçimde uyumlu.
Fakat 50 geçerli imzanın varlığı, bunların hangi sistemde veya hangi koşullarda üretildiğini göstermiyor.
2. Saldırıdan saatler önce aynı mekanizmanın gerçek varlıklarla kullanıldığını doğruladım.
Aynı operatör, Binance 14'ten önce başka hesaplarda EIP-7702 yetkilendirmeleri gerçekleştirmiş. Bu işlemlerde de azalan nonce dizileri kullanılmış.
Daha önemlisi, Binance 14'te kullanılan delegasyon sözleşmesi, saldırı öncesinde başka bir hesapta çalıştırılmış.
16:30 UTC'de sweep() çağrısıyla 0,01 ETH ve 2,541994 USDT aktarılmış.
16:47'de ise withdrawETH() ile 1 ETH transfer edilmiş.
Bu ETH'nin gönderildiği adresin daha sonra saldırı operatörüne de ETH aktardığını doğruladım.
Bunlar varsayım değil, gerçek zincir işlemleri.
Aynı kodun ve yürütme yönteminin saldırı öncesinde küçük tutarlarla kullanıldığı artık doğrulanabiliyor. Bunun saldırı provası olması güçlü bir olasılık, ancak hesapların gerçek sahipliğini bu işlemlerden kesinleştiremiyoruz.
Kanıt:
etherscan.io/tx/0x9c2dbed153…
3. 823 milyon USDC'nin Binance 14 üzerinden nasıl aktarılabildiğini açıklayan sahiplik ilişkisini doğruladım.
İlk makalemde Binance 34 olarak etiketlenen adresten gerçekleşen USDC transferlerini belirtmiştim.
Sonraki incelemede bu adresin bir SingleOwnerMSCA akıllı hesabı olduğunu tespit ettim.
Sahiplik olaylarını blok içindeki sıralarıyla kontrol ettiğimde, hesabın sahipliğinin Binance 14'e devredildiğini ve saldırı öncesinde başka bir sahiplik değişikliği kaydı bulunmadığını doğruladım.
Ardından 780 milyon ve 43 milyon USDC transferlerinin EVM iç çağrılarını inceledim.
Her iki işlemde de aynı zincir görülüyor:
Saldırgan operatörü 👉 Binance 14 👉 SingleOwnerMSCA 👉 USDC sözleşmesi.
Token transfer kayıtları da toplam 823 milyon USDC'nin toplama adresine aktarıldığını doğruluyor.
Buradaki kritik nokta şu:
Binance 14'ün EIP-7702 delegasyonuyla kötüye kullanılan yürütme yetkisi, sahiplik ilişkisi bulunduğu başka bir akıllı hesaptaki varlıklara erişim sağladı.
Sahiplik devri:
etherscan.io/tx/0xd561c23a4b…
43 milyon USDC'lik ek transfer:
etherscan.io/tx/0x3b9625b337…
Peki araştırma şimdi nereye geldi?
Binance'in ilk açıklaması, bir DevOps bilgisayarının ele geçirilmiş olabileceğini ve buradan servis konteynerine erişilerek yetkisiz para çekme işlemleri gönderilmiş olabileceğini belirtiyor. Şirket, ham özel anahtar sızıntısına ilişkin kanıt bulmadığını da açıkladı.
Ancak zincir üzerinde cevaplanmayı bekleyen önemli bir ayrım var.
Binance 16'da doğrudan imzalanmış Type-2 işlemler bulunuyor.
Binance 14'te ise farklı bir imzalama mesajı gerektiren 50 geçerli EIP-7702 yetkilendirmesi var.
Saldırgan, bu iki farklı imzalama yetkisine nasıl erişebildi?
Normal para çekme işlemleri oluşturabilen bir servise erişim, EIP-7702 yetkilendirmeleri üretmek için de yeterli miydi? Yoksa daha geniş yetkilere sahip başka bir imzalama bileşeni mi kötüye kullanıldı?
Bugünkü zincir verileri bu soruyu kesin olarak yanıtlamıyor.
Şu ana kadar saldırının yürütülme mekanizmasını, öncesindeki hazırlık izlerini ve 823 milyon USDC'ye uzanan sahiplik ilişkisini doğruladım.
Henüz doğrulayamadığım şey, geçerli imzaların nasıl elde edildiği ve Binance'in imzalama altyapısında hangi güvenlik sınırının aşıldığı.
Araştırmanın bundan sonraki odağı bu.
Çünkü paranın nasıl transfer edildiğini bulmakla, o parayı transfer etme yetkisinin nasıl elde edildiğini bulmak aynı şey değil.
İngilizce detaylı makale olarak yazdım ama Türkçe özetleyeyim. @binance olayının özü EIP-7702 yetkilendirmesi.
Ethereum işlemlerini, Etherscan, Blockscout API ve doğrudan EVM bytecode analiziyle inceledim.
15:59 UTC'de bir delegasyon sözleşmesi oluşturuluyor.
20:20 UTC'de Binance 14 adına EIP-7702 yetkilendirmesi gerçekleşiyor. İşlemdeki 50 yetkilendirme kaydından yalnızca biri kabul ediliyor.
Tam 3 dakika 24 saniye sonra, aynı operatör sweep() fonksiyonunu çalıştırarak Binance 14'ten büyük miktarda ETH ve ERC-20 token transferini başlatıyor. Ardından Binance 16 ve 34 kaynaklı büyük fon hareketleri de aynı toplama adresinde birleşiyor.
Asıl çarpıcı bulgu sözleşmenin çalışma kodunda.
İncelediğim 1.674 byte'lık bytecode içerisinde işlem başlatıcısının adresi beş kez sabitlenmiş. Dört ayrı yürütme yolunda operatör kontrolü bulunuyor ve yetkisiz çağrılar REVERT ile reddediliyor.
Ayrıca yaklaşık 975 milyon USDT ve 823 milyon USDC'nin bulunduğu toplama adresinin her iki stablecoin sözleşmesinde de kara listeye alındığını doğruladım.
Zincir üstü veriler, fonların hangi yetkilendirme mekanizmasıyla hareket ettirildiğini gösteriyor. Ancak geçerli EIP-7702 imzasının nasıl elde edildiği henüz bilmiyorum, araştıracağım.
Özel anahtarın ele geçirilmesi, imzalama altyapısının kötüye kullanılması veya önceden üretilmiş imzaların sızması birbirinden farklı ihtimaller. Hep sizlere yazdığım konular yani.
Bu olayın bana göre en önemli kısmı şu:
Bir cüzdanın güvenliği yalnızca özel anahtarını korumakla sınırlı değil. Hesabın hangi kodu, kimin yetkisiyle çalıştırabileceğini kontrol etmek de en az onun kadar kritik.
Araştırmamda doğruladığım işlem kayıtlarını, sözleşme adreslerini ve teknik kanıtları makalede paylaştım ama önemli olanlar bu aşağıdakiler
Delegasyon sözleşmesinin oluşturulması
29 Ekim, 15:59:11 UTC
etherscan.io/tx/0x97408e7562…
Binance 14 EIP-7702 yetkilendirmesi
20:20:59 UTC | 50 kayıt, 1 başarılı
etherscan.io/tx/0xad99264d55…
İlk büyük sweep işlemi
20:24:23 UTC
etherscan.io/tx/0x53bd38b816…
Binance 16, 28.005,6 ETH
etherscan.io/tx/0x51f263fa50…
195.460 ETH çıkışı
etherscan.io/tx/0x551d796165…
Binance 34, 780 milyon USDC
etherscan.io/tx/0xdc102dd89d…
İkinci sweep işlemi
etherscan.io/tx/0x31c4c9fe28…
Delegasyon sözleşmesi
etherscan.io/address/0x63e84…
EIP-7702 teknik standardı
eips.ethereum.org/EIPS/eip-7…
Terminal çıktıları: Blockscout API ve EVM bytecode analizi. Bu kayıtlar yürütme mekanizmasını doğruluyor; ilk ihlal yöntemini kanıtlamıyor.
. @binance 14 accepted an EIP-7702 delegation. Just 3m 24s later, the same operator initiated sweep().
I verified the transactions and EVM access-control bytecode. How the authorization signature was obtained remains unknown.
Teknik detayları yazacağım DM'DEN SORANLAR!
biraz sabır lütfen ama meselenin özü @binance için EIP-7702
5:59:11 UTC - Sözleşme oluşturuldu
0x7C8601...B5CA0, 0x63e842...6fae sözleşmesini oluşturdu.
20:20:59 UTC - EIP-7702 yetkilendirmesi
Aynı hesap Binance 14'e Type 4 işlem gönderdi. İçindeki 50 kayıttan biri başarılı delegasyon oluşturdu.
20:24:23 UTC - İlk büyük fon hareketi
Aynı başlatıcı Binance 14'e sweep() çağrısı yaptı. ETH ve tokenlar 0x5227...B2f8c adresine aktarıldı.
20:41:23 UTC - Binance 34'ten USDC transferi
Aynı başlatıcı Binance 14 üzerinden 780 milyon USDC hareketini tetikledi.
Yazacağım Az sabır ve sakin kalın
Eğer bu doğru ise 2.77 milyar dolarlık bir olay Binance için yönetilebilir görünüyor, içinize rahatlatmak için değil, biraz sonra göreceğiniz market etkisinden sizi korumak için yazıyorum, sakin olun.
Toplam raporlanan rezervleri yaklaşık 165 milyar dolar civarında. İddia edilen miktarın 50 katından fazla. Major varlıklarda (BTC, USDT, ETH vb.) Proof of Reserves oranları %100’ün üzerinde. Yani kullanıcı bakiyeleri zaten 1:1’in üzerinde karşılanıyor.
Asıl “acil durum” tamponu SAFU fonu. Şu an yaklaşık 15.000 BTC tutuyor ve şu an BTC 78 bin dolar olsa yaklaşık 1.2 milyar dolar. Binance, bu fon 800 milyon doların altına düşerse yeniden 1 milyar dolara tamamlamayı taahhüt etmiş durumda. Tarihsel olarak da büyük hack’lerde (örneğin 2019) SAFU’yu kullandılar.
2.77 milyar dolar SAFU’nun biraz üzerinde olsa bile, Binance’in kendi sermayesi ve diğer rezervleriyle karşılaması mümkün. Son dönemde (27 Ekim) Kuzey Kore bağlantılı saldırıları engellediklerini ve varlık kaybı olmadığını da açıklamışlardı. Yani hem teknik hem finansal kapasite açısından mevcut rakamlar oldukça yönetilebilir ama market buna çok ciddi tepki verecektir ki gerçekliği henüz doğrulanmadı ama velev ki doğrulandı sakin kalın...
Kötü niyetli biri hiç bir zaman olmadım ama geçmişte bir defiye açıklarını mail attım PR bile açmadan yaptım lakin cevap vermediler, burada da yazdım dikkatli olun bazılarını kullanırken diye, arkasından hacklendi (güya) Esas korkmanız gereken böyle kızgın bug hunterlar, sadece bulduklarını (doğru ya da yanlış) açığa dökmesi yeterli önemli zaafiyetleri harekete geçirmek için… daha önce de dedim kütüphaneleri, bağımlılıkları karşılık beklemeden yayınlayan, geliştiren, güncelleyen yazılımcılar var ama diğer bir güruh AI ile güçlendi ve onları kızdırmak sadece büyük şirketlere değil tüm sisteme zarar verecek, bu nedenle tüm gelişmelerden herkesten önce haberdar olmak ZORUNDASINIZ.
Milyar dolarlık bir şirketin kullandığı ücretsiz ya da çok küçük yardımlarla işletilen naif bir yazılımcının önemli bir kütüphanesi, sistemin diğer yanında kızgın cyberpunk anarşisiyle yanan bir yazılımcının elinde ciddi bir zaafiyete dönebilir ki dönecektir. Sizlere anlatmaya çalıştığım bu dip dalgadır, ya sisteminde açık bırakmayacak kadar kontrollü olmayı yeni düzene göre sağlayacaksın ya da artık sırtından ciddi paralar kazandığın sistemlerin arkasındaki gizli kahramanları bulup, destekleyeceksin, kulak vereceksin. Esas sarsıntılar buralardan gelecek, alan yetkinliği ile mimari boşlukları bilenlerin daha güçlü olduğu bir kaç kişi yok artık, binler yok artık…
E diyeceksiniz ki paraları var, imkanları var önlem alırlar 😊 o iş pek öyle değil. Zaafiyet bulmak 10 birim hızda ise yama üretmek şu an 2 birim hızda…
Since the @Apple Bug Bounty Program is by far the worst program I've ever hacked on, I am going to be dumping all of the data/POCs/report write ups etc for everything found during the 4 months of hacking them. This will include POCs for vulns that didnt meet their bar for a bounty so wasnt reported to them, so you may be able to find ways to escalate some of them. Ill be uploading the data all this weekend.
emudhra’nın 8 ara sertifikasının özel anahtarları o kadar zayıf üretilmiş ki biri tam olarak "4" 😳 En fazla 256 denemede bulunabiliyor. Ağ trafiğinin arasına girebilen biri, bu sertifikaları kabul eden bir araca karşı herhangi bir siteyi taklit edebilirdi.
Apple 19 Ekim'den beri bunları otomatik engelliyor. Safari, mail ve normal uygulamalar korunuyor.
Terminal araçları (git, curl, python3, openssl) ayrı bir dosya kullanıyor ve o dosya henüz güncellenmedi. Apple'ın kalıcı düzeltmesi için tarih yok. Benim elle yaptığım düzeltme de son güncellemeyle geri geldi.
Terminal kullanmıyorsan: hiçbir şey yapma.
Geliştiriciysen: Apple'ın sayfasında isteğe bağlı geçici bir çözüm var (support.apple.com/en-us/1495…). Ben güncellemeyi beklemedim. Ama güncellemelerden sonra tekrar kontrol etmen gerekiyor ve bazı siteleri doğrulayamayabilirsin.
Devrim kendi evlatlarını yine yiyor ya hu...
Microsoft, yapay zekâ yatırımları nedeniyle 60 bin çalışanına işten ayrılma teklifi sundu
Şirket, ABD, Kanada, Hindistan ve İngiltere’de belirli pozisyonlarda çalışan yaklaşık 60 bin kişiye gönüllü işten ayrılma teklifi sundu.
Program, Microsoft’un dünya genelindeki 223 bin çalışanının yaklaşık yüzde 27’sini kapsıyor.
Teklifi kabul edenler 31 Aralık 2026’da şirketten ayrılacak.
serbestiyet.com/haberler/bil…
"Fakire ekmek yoksa zengine huzur yok"
Artık toplumsal gerilimlerin yalnızca sokaklarda veya sandıklarda olmayacağını zaten anlamışsınızdır, finansal sistemlerin dijital altyapılarında da kendisini gösterecek, bir dip dalga gelecek, bastırılmış bir zümre AI ile yeteneklerini arttırdı ve bu gruplar yayılarak artıyor, her yerde izlerini görmüyordum ama artık bu mecrada bile görünüyorlar...
Ne node, ne de ajan badge fayda etmedi 😊 beni şaşırtmadı ama o kadar uğraşa acıdım, en azından github bağlantısı şarttı, sadece cüzdan ile "Not Eligible" bayadır görmemiştim... olsun bir gün yolumuz kesişir seninle @ritualfnd
One of the things I keep thinking about in blockchain is how we can trust information coming from outside the chain.
Most of the information we use every day is on websites, in applications and Api's. But how can we actually prove that a piece of information came from a particular service? A screenshot or someone's word shouldn't be enough.
I think we're getting closer to a time when being able to prove this, almost like having a document certified by a notary, will become a real necessity.
This is exactly why @primus_labs caught my attention.
Primus uses zkTLS to make data coming from HTTPS connections cryptographically verifiable. As a ZK developer, I find this really interesting. There is so much useful information outside blockchains, and I think finding ways to use that information without blindly trusting whoever provides it is an important problem to solve.
That's why I didn't want to just read about Primus and move on.
I started exploring Primus dev hub, generating and verifying real attestations with the chrome extension, and working on the core SDK integration. I've also submitted two PRs focused on security to the Primus open source ecosystem.
At the same time, I'm building something called "Voice Rights Passport". The idea is to take account ownership claims about AI voice models, turn them into verifiable proofs, and connect those proofs to blockchain wallets.
I think this is going to become a serious issue in the coming years. Especially when legal disputes start becoming part of the picture. People will need more than just saying "this voice model belongs to me." They'll need something they can actually prove.
And I believe the developers who start thinking about these problems and building solutions today will have an advantage in the future.
I want to be one of them. That's why I'm spending so much of my time on this.
Of course, none of this happens in a day. And I don't think it should. For me, the real experience comes from trying things, making mistakes, understanding why something didn't work, and finding a better way to do it.
I think all those experiences together are what eventually make a good developer.
The video below is from one of my real Primus attestation experiments.
I'll keep sharing what works, what doesn't, where I get stuck and what I learn along the way.
Web3 tarayıcı eklentilerini yüklerken dikkatli olun. Özellikle Wallet Provider üzerinden işlem isteklerine müdahale edebilenlere.
Pocket Universe'ün swap işlemlerinden ücret aldığını zaten biliyorsunuz. Genellikle o açıkken küçük tutarlarla işlem yaptığım için önemsemiyordum. Ancak geliştirdiğim bir dApp üzerinde @arc mainnet işlemlerini test ederken, bu ücretin nasıl uygulandığını zincir üzerinde gözlemledim.
Aldığı %1,60 ücret mesele değil, esas sıkıntı imzalayacağınız calldata'nın uygulama ile cüzdan arasında değiştirilebilmesi.
0.1 USDC → EURC takasında uygulamanın hazırladığı @Uniswap Universal Router komutları:
V3_SWAP_EXACT_IN + SWEEP
V3_SWAP_EXACT_IN takası gerçekleştiriyor, SWEEP ise çıktıyı cüzdana aktarıyor.
Ancak gerçekleşen işlemin komutları:
V3_SWAP_EXACT_IN + PAY_PORTION + SWEEP + SWEEP
Araya PAY_PORTION eklenmiş ve EURC çıktısının %1,60'ı farklı bir adrese aktarılmıştı.
Kesintinin gittiği adres, Pocket Universe'ün resmî belgelerinde listelenen ücret toplama adresiyle birebir aynı zaten.
Pocket Universe'ü kapatarak aynı tutarda ikinci bir işlem yaptığımda kesinti ortadan kalktı ve gerçekleşen calldata, uygulamanın hazırladığı işlemle eşleşti. Buraya kadar her şey olağan ama işin bir de teknik işleyişteki kötü niyetli olan boyutu olursa ne olur? bu da var...
Teknik olarak nasıl mümkün?
Normal akış:
Dapp 👉 Wallet Provider 👉 Wallet 👉 Blockchain
Dapp, EIP-1193 üzerinden örneğin şu isteği oluşturur:
provider.request({ method: 'eth_sendTransaction', params: [transaction] })
transaction nesnesi to, value ve data gibi alanlar taşır.
Ancak Wallet Provider, tarayıcının JavaScript ortamında erişilebilen bir arayüzdür.
Yeterli erişime sahip bir tarayıcı eklentisi, sayfaya kod enjekte ederek Provider'ın request() metodunu sarmalayabilir veya işlem isteğinin iletildiği araya başka bir katman yerleştirebilir.
Böylece:
Dapp doğru calldata'yı hazırlar.
Eklenti, eth_sendTransaction isteğindeki data alanını değiştirebilir.
Wallet, değiştirilmiş işlemi imzaya sunar.
Kullanıcı onaylarsa blockchain bu işlemi çalıştırır.
Private key'e erişilmesi gerekmez. Kullanıcının değiştirilmiş işlemi imzalaması yeterlidir.
Pocket Universe'ün resmi kullanım koşulları hizmet ücretlerini ve ücret toplama adreslerini açıklıyor. Buradaki örnek bir hizmet ücreti; kötü amaçlı yazılım tespiti değil, yanlış anlaşılmasın.
Fakat aynı müdahale yeteneği kötü niyetli bir eklenti tarafından kullanılırsa sonuç çok daha ciddi olabilir.
Örneğin swap çıktısı başka bir adrese yönlendirilebilir veya işlem verisine beklenmeyen komutlar eklenebilir.
Anlatmaya çalıştığım ise eklenti olarak eklediğiniz her şey güvenli olmayabilir. Eklendikten sonra bunu yapabilecek yetkiyle size zarar verebilir.
Burada yalnızca bir eklentinin hangi sitelerde çalışabildiğine bakmak yeterli değil.
Teknik incelemede asıl bakılması gereken, eklentinin Wallet Provider ile nasıl etkileşime girdiğidir.
Özellikle:
⚒︎ window.ethereum veya EIP-6963 Provider nesnelerine müdahale edip etmediği,
⚒︎ request() ve eth_sendTransaction çağrılarını yakalayıp yakalamadığı,
⚒︎ İşlemdeki to, value, data alanlarını değiştirme kapasitesi,
⚒︎ Eklentinin content_scripts, scripting ve host_permissions kullanımı.
Bunlar eklentinin kodu ve davranışı incelenerek araştırılabilir. Yalnızca chrome'un izin ekranına bakarak güvenli olduğu doğrulanamaz.
Normal kullanıcılar açısından ise en uygulanabilir önlem, finansal işlemler için günlük tarayıcıdan ayrı bir profil kullanmak ve bu profilde yalnızca gerekli, güvenilir cüzdan eklentisini bulundurmaktır.
İmza öncesinde cüzdanın gösterdiği net çıktı, hedef kontrat ve ücretler de kontrol edilmeli. Yine de bu kontroller her türlü calldata manipülasyonunu yakalayamayabilir.
Özellikle yüksek tutarlı işlemlerde alışkanlıkla onay vermek ciddi risk oluşturabilir.
Tarayıcı ortamındaki Wallet Provider bağlantısını kullanan farklı cüzdanlar kendi güvenlik önlemlerine bağlı olarak benzer risklerle karşılaşabilir. Hiç bir cüzdana sonsuz güven duymayın.
Bir dapp'in doğru işlemi hazırlaması, cüzdanın aynı calldata'yı imzaladığını garanti etmez.
Yani:
Web3 güvenliğinde dapp ile wallet arasındaki bağlantı da ayrı bir güven sınırı olarak ele alınmalıdır ve belki yakında herkes kendi uygulamasını yapıp, kendi rotasındaki yolları güvenle döşeyerek "dışarıda içine ne koydukları belli değil" diyerek güvenle devam etmek zorunda kalacaktır... Ben öyleyim şu an, kendi araçlarımı kullanıyorum ve mecbur kalmadıkça dışarıda yemiyorum efendim...
“İş görüşmesi için verilen bir projeyi çalıştırdım, kripto cüzdanım boşaltıldı!”
Web3 dünyasında buna benzer hikayeler duymuşsunuzdur. Peki bir iş görüşmesi, bilgisayarınızdaki cüzdanların ve kişisel verilerin çalınmasına nasıl yol açabilir?
Bakın canlı örneği; SlowMist'in ortaya çıkardığı somut bir saldırı örneği.
Saldırganlar, Solidity geliştiricileri için hazırlanmış bir iş görüşmesi veya kodlama alıştırması projesi gibi görünen Github deposuna zararlı komutlar gizlemiş.
Projenin .vscode/settings.json dosyasına yerleştirilen komutlar, ilgili terminal profili başlatıldığında internetten zararlı kod indirip çalıştırabiliyor.
Bu kodun tarayıcı verilerini, kripto cüzdan bilgilerini ve yerel dosyaları toplamaya yönelik yetenekleri tespit edilmiş.
Üstelik mesele yalnızca VS Code da değil!
Benzer saldırılar kurulum scriptlerine, bağımlılıklara, docker yapılandırmalarına ve otomatik çalışan görevlere de gizlenebilir. AI kodlama ajanları da güvenilmeyen projeleri çalıştırdıklarında aynı risklerle karşılaşabilir.
Peki sen ne yapmalısın değil mi?
1. Tanımadığınız GitHub projelerinde
.vscode/settings.json,
.vscode/tasks.json, .devcontainer/devcontainer.json,
package.json,
Dockerfile,
Makefile,
.github/workflows/
dosyalarını inceleyin.
2. terminal.integrated.profiles, preinstall, postinstall, prepare gibi otomatik veya kurulum sırasında çalışan mekanizmaları kontrol edin.
3. curl, wget, eval, node -e, python -c, powershell -EncodedCommand ve base64 -d gibi komutların ne yaptığını sorgulayın. Bunlar tek başlarına zararlı değildir ancak uzaktan indirilen kodu doğrudan çalıştıran zincirlere özellikle dikkat edin.
4. Güvenmediğiniz projeleri kişisel cüzdan, SSH anahtarı veya API anahtarı barındırmayan izole ortamlarda çalıştırın.
Peki AI kodlama ajanlarını nasıl koruyacağız?
Önce inceleme: Ajan GitHub API üzerinden projeyi salt okunur biçimde analiz etmeli. Kurulum scriptlerini, otomatik görevleri ve bağımlılıkları kontrol etmeden çalıştırma aşamasına geçmemeli.
Komut denetimi: Claude Code'da PreToolUse, diğer destekleyen ajanlarda benzer hook mekanizmaları kullanılmalı. npm install, pip install, bash script.sh ve curl | bash gibi işlemler bağımsız güvenlik kontrolünden geçmeli.
Prompt injection koruması: AGENTS.md, CLAUDE.md, .cursor/rules ve README dosyalarındaki talimatlar güvenilir sistem komutları olarak kabul edilmemeli.
Sandbox: Ajanın çalıştırdığı güvenilmeyen kod, ana sistemden izole edilmeli. Cüzdanlara, SSH anahtarlarına, API anahtarlarına ve gereksiz dış ağ bağlantılarına erişim engellenmeli.
Sürekli kontrol: Yeni bağımlılık, değişen kurulum scripti veya yeni commit sonrasında güvenlik incelemesi tekrarlanmalı.
Buradaki asıl problem şu:
Bir AI ajanına “zararlı kodları çalıştırma” talimatı vermek güvenlik sağlamak için yeterli değil.
Ajanın çalıştırmak istediği komutları denetleyen, tehlikeli işlemleri gerçekten engelleyebilen ve erişim yetkilerini sınırlandıran bağımsız bir güvenlik katmanı gerekiyor.
Çünkü güvenlik, yalnızca saldırıyı fark etmek değil, fark edemediğimiz saldırıların da zarar vermesini engelleyebilmektir.
AI kodlama ajanlarının güvenlik standardı da bu anlayış üzerine kurulmalı. Bu konuda kendi kullandığım Orbstack üzerinde çalıştırdığım safe-npm güvenlik katmanı ve ek güvenlik katmanlarını da uzun bir makale olarak fırsat bulunca yazacağım, güvende kalın efendim...
🚨 Threat Intelligence | Beware: Web3 Interview Questions Conceal a Data-Stealing Backdoor
@SlowMist_Team recently received user reports about a GitHub repository named sol-live, presented as a #Solidity interview practice project. Analysis revealed a hidden download-and-execute command in .vscode/settings.json that can run a remote script when the project's custom terminal configuration is launched.
🔍 The retrieved payload contains three main modules capable of:
🔹 Collecting browser login databases and wallet extension storage, and copying #macOS Keychain files
🔹 Scanning and uploading local files
🔹 Executing remote commands, providing interactive shell access, and monitoring clipboard contents
⚠️ On macOS/Linux, execution requires users to actively launch the malicious terminal configuration. The #Windows execution chain remains unconfirmed due to potential quoting issues.
We also identified 8 other #GitHub projects with similar terminal-based download-and-execute techniques. The analysis does not confirm the actual scope of infection or whether data was exfiltrated.
🛡️ Recommendations:
Review .vscode/settings.json and terminal launch arguments before using untrusted projects. If execution is confirmed or cannot be ruled out, isolate and investigate the affected host, then migrate wallet assets and rotate relevant credentials from a trusted device.
Read the full analysis 👇
slowmist.medium.com/threat-i…
Özellikle ios optimasyonu için çok uğraşıyorum, telefonda kaliteli oynananma tecrübesi olan Tower Defence eksikliği var bende, kimse oynamasa bile ben oynarım diye yapıyorum ya hu 😊 her silah ve çevre objeleri ile tek tek uğraştım ama bitmedi... Testerlara ihtiyacım var, hem web sürümü hem de ios sürümü için, denemek isteyen olursa yazsın lütfen, görüşleriniz kıymetli... Bitirince süreci tek tek anlatacağım, yayınladıktan sonra.
Bir web sitesinin çalıştığını test etmek kolay. Peki çalışmaması gereken yolların gerçekten kapalı olduğunu nasıl anlarsınız?
Bugün Node.js ve PHP gibi milyonlarca yazılımın temelinde kullanılan çalışma ortamlarındaki kritik güvenlik açıklarını incelerken, geliştirdiğim projelerden birinin erişim güvenliğini de yeniden kontrol ettim.
Konuyu basit bir örnekle anlatayım.
Bir iş yerinin iki kapısı olduğunu düşünün. Müşteriler ana kapıdan giriyor, güvenlik kontrollerinden geçiyor. Ancak binanın arkasında ikinci bir kapı daha bulunuyor.
Ana kapıdaki güvenlik önlemleri, arka kapının da korunduğunu garanti etmez.
Web uygulamalarında da benzer bir durum söz konusu.
Geliştirdiğim projede kullanıcı istekleri önce Vercel üzerinden geçiyor, ardından işlemleri gerçekleştiren Railway sunucusuna ulaşıyor.
Aynı API isteğini iki farklı yoldan test ettim.
1. Normal web adresi üzerinden: HTTP 200
İstek başarıyla işlendi. Beklenen sonuç.
2. Doğrudan sunucu adresi üzerinden: HTTP 403
Erişim engellendi. Yine beklenen sonuç.
3. Engellemenin hangi katmanda gerçekleştiğini kontrol ettim.
HTTP yanıtının teknik bilgilerini inceleyerek 403 yanıtının Node.js uygulamamdan değil, Railway'in ağ katmanından geldiğini teyit ettim.
Böylece doğrudan erişimin engellendiğini ve bu engellemenin hangi katmanda gerçekleştiğini doğruladım.
Peki bunun güvenlik açısından önemi ne?
Bir isteğin engellenmesi, sistemdeki bütün güvenlik mekanizmalarının doğru çalıştığını kanıtlamaz.
İsteği ağ altyapısı reddedebilir, uygulamanın kendi yetkilendirme sistemi reddedebilir veya güvenlik duvarı daha uygulamaya ulaşmadan durdurabilir.
Bunların her biri farklı bir güvenlik katmanıdır ve ayrı ayrı doğrulanmalıdır.
Yazılım geliştirmeye yeni başlayanlar için burada üç temel kontrol öne çıkıyor:
✦ Erişim güvenliği: Sunucuya yalnızca izin verilen yollar üzerinden mi ulaşılıyor?
✦ Yetkilendirme güvenliği: Sunucuya ulaşan isteklerin gerekli izinlere sahip olup olmadığı kontrol ediliyor mu?
✦ Çalışma ortamı güvenliği: Node.js, PHP ve kullanılan bağımlılıklar güncel ve bilinen güvenlik açıklarına karşı yamalanmış mı?
Bugün gündeme gelen Node.js ve PHP güvenlik açıkları, özellikle üçüncü maddenin önemini hatırlatıyor.
Uygulama kodu doğru yazılmış, erişim kontrolleri düzgün yapılandırılmış olabilir. Ancak uygulamanın çalıştığı teknolojide veya kullanılan bir bağımlılıkta güvenlik açığı bulunması, sistemin bütününü etkileyebilir.
Bu nedenle güvenlik değerlendirmesinde yalnızca başarılı test sonuçlarına bakmak yeterli değil.
Hangi isteğin neden kabul edildiğini, hangisinin hangi katmanda engellendiğini ve her güvenlik mekanizmasının kendi sorumluluğunu yerine getirip getirmediğini ayrı ayrı doğrulamak gerekiyor.
Güvenlik, kapının kapalı olduğunu görmek değil, o kapıyı hangi kilidin koruduğunu bilmek ve her kilidin gerçekten çalıştığını doğrulamaktır.
nitter.gq/nodejs/status/21130374…
🔐 Node.js security updates are now available!
New releases for Node.js 22.x, 24.x & 26.x address multiple vulnerabilities, including high-severity issues.
Review the details and update your systems to stay secure.
🔗 nodejs.org/en/blog/vulnerabi…
#NodeJS #Security
Bir de doğru bilinen yanlışlardan biri:
“Docker kullanıyorum, güvendeyim.”
Docker uygulamayı izole eder ama içindeki güvenlik açıklarını ortadan kaldırmaz.
Saldırgan, uygulamadaki bir açığı istismar ederek konteynerden çıkmadan da verilere, API anahtarlarına veya uygulamanın erişebildiği sistemlere zarar verebilir.
Docker bir güvenlik katmanıdır, güvenlik garantisi değil.
Sizce robot çağının asıl fırsatı robot/humanoid üretmek mi? yoksa kaslarında mı fırsat?
Bir çok kişisel proje geliştiren ve robotik sistemler üreten uçuk kişileri takip ediyor ve çalışmalarından ciddi feyz alıyorum 😊 öyle bir zamanın içindeyiz ki bu yeni çağın evrim şahitleriyiz ve yeni fırsatların tohumlarından ürün elde edecekler olacak, peki biz bunu sadece izleyecek miyiz?
Son iki yıldır herkes yapay zekayı, humanoid robotları ve geleceğin kişisel asistanlarını konuşuyor. Ben ise bu dönüşümün biraz daha az konuşulan tarafıyla ilgileniyorum: Bu robotları kim hareket ettirecek?
Yıllardır RC otomobillerle uğraşıyorum. Motor, ESC, servo, gyro ve şasi geometrisi üzerinde çalışmak, özellikle drift araçlarında hassas mekanik ayarlar yapmak benim için büyük bir tutku oldu.
Bu süreçte öğrendiğim en önemli şeylerden biri şu: Bir sistemi hareket ettirmekle, o hareketi hassas ve güvenilir biçimde kontrol etmek birbirinden çok farklı şeyler.
Önümüzdeki yıllarda kişisel küçük robotların ve humanoidlerin giderek yaygınlaşacağını düşünüyorum ki şu an baya bir proje var bununla ilgili. Ancak milyonlarca robotun üretildiği bir dünyada asıl fırsat yalnızca robotun kendisini üretmek olabilir mi?
Her robotun hareket etmesi, dengede kalması, nesneleri kavraması ve çevresiyle fiziksel etkileşim kurması gerekecek. Bunun için de kompakt, yüksek torklu, hassas, enerji verimli ve uzun ömürlü hareket sistemlerine ihtiyaç duyulacak.
RC dünyasından tanıdığım servolar, bu teknolojik gelişimin anlaşılması için güzel bir başlangıç noktası. Elbette humanoidlerde çok daha karmaşık motor, redüktör, sensör ve kontrol sistemlerinden oluşan aktüatörler kullanılıyor.
Bence robotik çağının en stratejik üretim alanlarından biri tam da burası olacak.
Robot markaları değişebilir. Tasarımlar farklılaşabilir. Yapay zeka modelleri gelişebilir. Ancak fiziksel hareketin temel mühendislik ihtiyaçları ortadan kalkmayacak.
Bu yüzden geleceğin robotik endüstrisine bakarken yalnızca robot üreten şirketleri değil, o robotlara hareket kazandıran teknolojileri geliştiren ve üreten şirketleri de yakından izlemek gerektiğine inanıyorum. Örneğin "Savox" bu benim favori servomdur RC araçlarımda. Aklınızda olsun...
Belki de robot çağının en büyük fırsatlarından biri, robotun tamamını üretmekte değil, binlerce farklı robotun ihtiyaç duyacağı ortak hareket teknolojilerini geliştirmekte yatıyor.
Zekanın kendisinden çok kaslarında fırsat arıyorum? derseniz, bu size bir fikir sokması yapabilir efendim...
En en önemli soru şu olmalı bence: NVDIA kaçan fırsattı, peki robotik endüstrisinin ortak donanım altyapısını kim sağlayacak? ben size ipucunu verdim efendim...

























