PewDiePie'ın AI Agent Harness'ini Kötü Niyetli Bir CoComelon Web Sitesi ile Hacklemek (Ve Sonrasında Korumasına Yardımcı Olmak)

@theonejvo
İNGILIZCE1 ay önce · 01 Haz 2026
508K
175
3
0
17

TL;DR

Bir güvenlik araştırmacısı, PewDiePie'ın AI platformu Odysseus'ta tam sunucu kontrolüne izin veren kritik bir komut enjeksiyonu açığını detaylandırıyor. Proje o zamandan beri bu açıkları yamaladı ve büyüyen kendi kendine barındırılan AI ekosisteminde güçlü güvenliğe duyulan ihtiyacı vurguladı.

Geçtiğimiz yıl boyunca, @pewdiepie, özel, kendi kendine barındırılan bilgi işlemin en görünür savunucularından biri haline geldi ve bunu izlemek gerçekten büyük bir keyifti.

2025'in sonlarında eğlenceli bir deney olarak başlayan - modifiye edilmiş GPU'larla dolu, açık kaynak modeller çalıştıran, sohbet robotlarının bir "konsey" halinde oy kullandığı, boşta kalan işlem gücünün protein katlanması araştırmalarına bağışlandığı bir ev sistemi - kabaca on iki ay içinde net bir misyona sahip bir yapıya dönüştü.

31 Mayıs 2026'da Odysseus olarak geldi; ücretsiz, açık kaynaklı, kendi kendine barındırılan bir AI çalışma alanı. PewDiePie, bunu abonelik modeline atılmış bir darbe olarak açıkça ifade etti: yerel öncelikli, gizlilik öncelikli, telemetri yok, verileriniz bir avuç büyük şirkete akmak yerine kendi donanımınızda kalıyor.

Onun erişim gücüne sahip birinin, yerel çıkarımı ana akım, teknik olmayan bir kitleye sunması, gizlilik dünyasının yıllardır istediği türden bir şey ve ben bunu gerçekten destekliyorum.

Aynı zamanda, kendi yetkili dağıtımımı test ederken, bu sunuculardan birini tek bir tıklamayla ele geçirmenin bir yolunu bulan kişi de benim. Bu iki şey birbiriyle çelişmiyor. Bu kadar hızlı piyasaya sürülen, bu kadar yeni bir kategorideki bu kadar iddialı bir yazılım, tam da ilginç güvenlik hatalarının yaşadığı yerdir ve bunları erken bulmak, projenin daha sonra güvenilir olmasını sağlar.

Bu nedenle, yardım etme ruhuyla, işte tüm zincir, temelden başlayarak açıklanmış ve içinde bulunduğumuz an hakkında söyledikleriyle birlikte.

Kilidi olmayan bir kapı ve sadece zararsız görünen bir port

Odysseus, ağır işleri, SSH üzerinden ulaştığı uzak GPU makinelerine devredebilir; SSH, bir bilgisayarın başka bir bilgisayarda komut çalıştırmasının standart yoludur.

Bu nedenle, dahili uç noktalarından birkaçının bir komut kabuğuna dokunmasına izin verilir - ham komut satırı; eğer ona ulaşabilirseniz, makineye neredeyse her şeyi yaptırabilirsiniz.

Mantıklı bir şekilde, bu uç noktaların neredeyse tamamı, arayan kişinin bir yönetici olup olmadığını kontrol ederek başlar.

İstisna, işi uzak bir sunucuda hangi Python paketlerinin kurulu olduğunu listelemek olan sessiz bir uç noktadır ve her şeyin çözüldüğü yer de burasıdır.

İlk sorun, bu uç noktanın arayan kişiyi tanımlamak için ihtiyaç duyacağı bilgiyi asla alamamasıdır, bu nedenle hiçbir yönetici kontrolü gerçekleştirmez ve prensipte bunu yapamaz bile.

Önünde duran tek şey, uygulamanın giriş yapmış olmanız gerektiğine dair genel kuralıdır; bu, herhangi bir hesabın - bir yabancının bir dakika önce kaydolduğu bir hesap dahil - her benzer uç noktanın dikkatle koruduğu bir kabuğa dokunan kapıya ulaşabileceği anlamına gelir.

Jamieson O'Reilly - inline image

Yapısal temel neden: Kime ait olduğunu göremeyen bir işleyici, kimin izinli olduğunu uygulayamaz, aşağıda görüldüğü gibi.

Jamieson O'Reilly - inline image

Tek başına bu üstesinden gelinebilir olabilir, ancak bu uç noktanın asıl işini yapma şeklinde ikinci bir sorun daha var ve tüm saldırının kalbini oluşturuyor.

Uzak bir makinede hangi paketlerin kurulu olduğunu bulmak için program, tek bir düz metin satırı olarak bir talimat yazar ve bu satırı kabuk adı verilen sistemin bir parçasına iletir; kabuğun görevi satırı okumak ve uygulamaktır.

Kabuğu hayal etmenin en kolay yolu, yazılı talimatları tamamen harfiyen takip eden ve bazı noktalama işaretlerinin özel anlam taşıdığı bir asistan olarak düşünmektir.

Buradaki önemli olan noktalı virgüldür; kabuk bunu "bu talimat bitti, şimdi sıradakini yap" olarak okur, bu nedenle içinde noktalı virgül bulunan tek bir satır, arka arkaya birkaç komut olarak uygulanır.

Jamieson O'Reilly - inline image
Jamieson O'Reilly - inline image

Bu nedenle, dikkatli programlar, bir kişinin yazdığı herhangi bir şeyi alır ve kabuğa iletmeden önce tırnak işaretleri içine alır - kabuğa, bu karakterlere komut olarak çalışma gücü olmayan sıradan metin olarak davranması söylenmiş olur.

Geliştirici bunu sunucu adı ve gönderilen komut için doğru bir şekilde yapmıştı, bu nedenle bu girdiler güvendeydi.

Ancak port numarası, etrafında tırnak işareti olmadan, çıplak bir şekilde satıra eklendi; bu, bir portun her zaman sadece bir sayı olduğu ve bir sayının hiçbir zarar veremeyeceği şeklindeki makul görünen varsayıma dayanıyordu. (Sanal ortam yolu da aynı nedenden dolayı aynı şekilde, tırnak işareti olmadan birleştirilmişti.)

Varsayımdaki boşluk, portun bir sayı olmak zorunda olmamasıdır. Doğrudan web adresinden çekilen düz metin olarak gelir ve isteği yapan kişi ne diyeceğine karar verir.

Yani saldırgan, 22 yerine 22; id; hostname # yazar.

Kabuk ilk parçayı okur, bağlanmaya çalışır ve zararsız bir şekilde başarısız olur, ardından ilk noktalı virgüle gelir ve itaatkar bir şekilde saldırganın kendi iki komutunu çalıştırırken, sondaki # karakteri, takip etmesi gereken artık metni yok saymasını söyler.

Jamieson O'Reilly - inline image

Bir noktalı virgül, "uzaktaki bir kutudaki paketleri listele"yi "bu kutuda benim komutlarımı çalıştır"a dönüştürür.

Ona ulaşmak, oturum açmış bir oturumdan ve hazırlanmış bir web adresinden daha egzotik bir şey gerektirmez:

Jamieson O'Reilly - inline image

İstek, normal paket JSON'ı ile HTTP 200 döndürürken, enjekte edilen komutlar sunucu tarafında çalışır.

Eklediğim komutlar zararsız araştırmalardı ve çıktıları sunucunun kendi hizmet hesabının adını verdiğinde, talimatlarımın makinenin kendisinde çalıştığını doğruladı.

Jamieson O'Reilly - inline image

İki hatayı bir araya getirin ve yerel tablo tek bir cümleye sığar - giriş yapmış herhangi bir kullanıcı, sunucuda kendi seçtiği komutları çalıştırabilir.

Ölçek riski, Odysseus'u heyecan verici kılan şeyin ta kendisi tarafından keskinleştiriliyor.

Yüz milyon abonesi olan bir yaratıcı, büyük, teknik olmayan bir kitleyi kendi kendine barındırmaya başarıyla yönlendirirse, sonuç, benzer şekilde yapılandırılmış, benzer şekilde açığa çıkarılmış binlerce benzer örnek olur; bu bir monokültürdür ve monokültürler solucanların sevdiği şeydir.

@ashnichrist bunu iyi ifade etti.

Tek bir tıklamaya dönüştürmek

"Giriş yapmış herhangi bir kullanıcının" tetikleyebileceği bir hata hala kötü niyetli bir içeriden birini gerektiriyormuş gibi gelebilir ve bir sonraki adım, bu gerekliliği bile ortadan kaldıran şeydir, çünkü kurbanın kendi tarayıcısının saldırıyı gerçekleştirmesini sağlar.

Teknik, siteler arası istek sahteciliğidir (CSRF) ve tarayıcının sessiz bir alışkanlığından yararlanır.

Bir siteye giriş yaptığınızda, tarayıcınız küçük bir belirteç (token) saklar ve daha sonra bu siteye yönelik isteklere, isteğin hangi sayfadan başlatıldığına bakılmaksızın, yalnızca isteğin hedefine dayanarak otomatik olarak ekler.

Jamieson O'Reilly - inline image

Odysseus bu belirteci SameSite=Lax politikasıyla ayarlamıştı; bu makul bir varsayılandır ve belirtecin gizli arka plan isteklerine eşlik etmesini engeller - ancak yine de kasıtlı olarak üst düzey bir yönlendirmede (tabınızı bir yere taşıyan sıradan bir tıklama) gönderir.

Zayıf uç nokta düz bir bağlantıyı yanıtladığı, bir isteğin nereden geldiğine dair herhangi bir kontrol yapmadığı ve herhangi bir sahtecilik önleme belirteci kullanmadığı için, bir saldırganın yalnızca davetkar bir düğmeye sahip bir sayfa barındırması yeterlidir.

Gösteri için tam olarak bunu yaptım - neşeli, çocuk dostu ve en önemlisi, lore açısından doğru bir CoComelon övgü sayfası - anaokulu kafiyesi renkleri, Comic Sans, büyük bir "oynat" düğmesi.

Jamieson O'Reilly - inline image

Düğme bir şarkıya bağlantı değil. Tıklama işleyicisi, gerçek hedefi küçük, tek kullanımlık bir açılır pencere penceresinde açar, böylece kötü niyetli istek, dikkati dağıtmadan ve bir an sonra otomatik olarak kapanmadan önce, SameSite=Lax oturum çerezini taşıyarak üst düzey bir yönlendirme olarak gerçekleşir. Açtığı adres, komutun "port"a kaçırıldığı paket uç noktasıdır:

Jamieson O'Reilly - inline image

Bu tek tıklama gerçekleşirken, yem sayfası kamera için bir gösteri yapar: CoComelon sanatı bir namlu ağzı parlaması gibi ekranda titreşir ve bir terminal, ele geçirmenin her adımını anlatarak kendini yazar. (Terminal metni, demo için sahnelenmiş bir anlatımdır; gerçek yürütme, açılır pencerenin az önce yaptığı sessiz istektir.)

Jamieson O'Reilly - inline image

Etkiyi somutlaştırmak için, bu tek tıklama üç şey yaptı: sunulan arayüzü bariz bir görsel tahrifat için yeniden yazdı (tam ekran "🍉 Odysseus'unuz CoComelonlandı 🍉" kaplaması, karpuz simgeleri, yeniden adlandırılmış bir uygulama), hizmet kullanıcısının okuyabildiği her şeyi okudu ve - en kalıcı olarak - uygulamanın auth.json dosyasına gizli bir yönetici hesabı yazdı.

Jamieson O'Reilly - inline image

Kancası: yeniden başlatma bariz karışıklığı temizler ve saldırganın hesabını tutar.

İşte canlı bir demo.

Bu, bir aracı aracında (agentic tool) bulunabilecek en kötü hata türü nedenidir

2026'da tek bir örneğin ele geçirilmesinin sizi endişelendirmesi gerektiğinin nedeni, bu tür şeylerin nadiren tek bir örnekte durması ve yılı tanımlayan solucanın nedenini göstermesidir.

Shai-Hulud, ilk kez Eylül 2025'te görülen ve o zamandan beri daha büyük dalgalarla geri dönen, kendi kendine yayılan npm solucanı, acımasızca basit bir döngü çalıştırır - bir paket kurulduğu anda çalışan kötü amaçlı bir kurulum zamanı betiği, makineyi npm ve GitHub belirteçleri, SSH anahtarları ve bulut kimlik bilgileri gibi sırlar için tarar ve ardından bu çalıntı kimlik bilgilerini kullanarak kurbanın diğer paketlerinin arka kapılı sürümlerini yayınlar, böylece her yeni kurulum, saldırgandan daha fazla çaba gerektirmeden bir sonraki fırlatma noktası haline gelir.

Aktarılması gereken ders, bir solucanın en zor işinin kimlik bilgilerini toplamak ve bir sonraki makineye bir yol bulmak olduğudur.

Bir aracı AI asistanı, bir solucana

her ikisini

de bedava verir, çünkü güçlü sırları tutmak ve diğer makinelere uzanmak onun tüm amacıdır.

Odysseus'a karşı yapılan tek tıklama, kod yürütmekten çok daha fazlasını sağladı. Saklanan API anahtarları, veritabanı, yapılandırma ve aracın yönettiği uzak GPU sunucularına giriş yapmak için kullandığı SSH erişiminden oluşan önceden toplanmış bir kasa teslim etti. Bu, kendi kendine yayılan bir saldırının üzerinde çalıştığı tam yakıttır, etiket dışa dönük olarak tek bir yerde oturur ve onu kullanmanın oyun kitabı zaten doğada mevcuttur.

Jamieson O'Reilly - inline image

Tüm bunlar ne anlama geliyor?

Beni en çok etkileyen şey, sunucuyu gerçekten ele geçiren hatanın kadim olması. Komut enjeksiyonu ve istek sahteciliği, 2005'teki bir geliştiricinin tanıyacağı ders kitabı düzeltmelerine sahiptir ve bu hatalar, etraftaki en ileri görüşlü tüketici AI yazılım parçalarından birinin içinde yaşıyordu - ki bu, bu yıl tüm endüstri genelindeki kalıptır; manşetlere çıkan AI güvenlik açıklarının, yeni ve parlak araçların içinde oturan klasik kusurlar olduğu ortaya çıkıyor.

Sınır (frontier) bu temel unsurları tamamen yürürlükte bıraktı, ardından üzerlerine güçlü, hızlı hareket eden, genellikle gereğinden fazla güvenilen bir katman ekledi ve bu katmanı sahip olduğunuz her şeye bağladı.

Jamieson O'Reilly - inline image

Henüz kablosu bağlanmamış kapı zili

Öğrenmeye değer bir detay daha var, çünkü kodla en az ilgili olan kısım bu.

Bunu ilk bildirmek istediğimde, depoda bir güvenlik politikası vardı - düşünceli, mantıklı dağıtım rehberliğine sahip bir politika.

Ancak bildirim bölümü, potansiyel muhabirleri "varsa GitHub güvenlik tavsiyelerine" yönlendiriyordu ve ilk başta bu özel kanal açık değildi.

Bir yabancının proje hakkında bulabileceği en hassas şeyin ineceği özel bir yer yoktu. Bu boşluk o zamandan beri kapatıldı - komut enjeksiyon zinciri artık kritik bir tavsiye ile izleniyor ve düzeltmeler birleştirildi - ancak başlangıçtaki yokluk, durumu ele veriyor.

Neyse ki, bakımcılardan biriyle konuşmayı başardım, tavsiye özelliğini açtı ve o zamandan beri bir dizi başka düzeltme gönderdim.

Jamieson O'Reilly - inline image

Tüm bunlar bir yana... bu zamanın bir işareti.

Projeler artık bir ev GPU düzeneğindeki bir hobiden, tek bir duyuru süresi içinde yüz milyon kişilik bir kitleye gidiyor ve güvenlik iskelesi - kötü haberler için özel bir gelen kutusu, bir tavsiye iş akışı, model çıktısını düşmanca olarak ele alma alışkanlığı - kodu geriden takip ediyor, kod da kitlenin gerisinde kalıyor.

Bu sıralama, bir düşmanın olmasını istediğinin tam tersidir.

Aynı hafta aynı yazılımı kuran, halihazırda güvendikleri biri tarafından buna yönlendirilen, büyük, güvenen, büyük ölçüde teknik olmayan bir hayran kitlesi, var olan en çekici hedeftir - devasa, tek tip ve önceden satılmış.

Bu, bir solucanın tam olarak istediği monokültürdür, üstelik kapının önüne hoş geldin paspası serilmişken.

Bu hikayenin cesaret verici yarısı, kodun mükemmel olması değil - değildi - ancak projenin kapı zilini bağlaması ve kapıya gelen vuruşu duyduktan sonra yaklaşık bir gün içinde düzeltmeleri göndermesidir.

Bu kadar hızlı hareket eden, bu büyüklükte bir kitlenin önünde olan bir yazılım için, bu refleks - özel bir kanal açmak, hızlı cevap vermek, açıkça düzeltmek - en başından beri lekesiz bir kayda sahip olmaktan daha değerlidir. Sonuçta, kendi kendine barındırmaya olan güven gerçekten böyle kazanılır.

Şimdilik... bu kadar arkadaşlar!

Jamieson O'Reilly - inline image

https://x.com/Grummz/status/2061300454907371953

https://x.com/ashnichrist/status/2061481763516399737

https://x.com/theonejvo/status/2061350250766615006

https://x.com/theonejvo/status/2061351074272006476

Tek tıkla kaydet

YouMind ile viral makaleleri AI derin okumayla incele

Kaynağı kaydedin, odaklı sorular sorun, argümanı özetleyin ve viral bir makaleyi tek bir AI çalışma alanında yeniden kullanılabilir notlara dönüştürün.

YouMind'ı keşfet
Üreticiler için

Markdown'ınızı temiz bir 𝕏 makalesine dönüştürün

Kendi uzun yazılarınızı yayımlarken görselleri, tabloları ve kod bloklarını 𝕏 için biçimlendirmek zahmetlidir. YouMind, eksiksiz bir Markdown taslağını temiz ve hemen paylaşılabilir bir 𝕏 makalesine dönüştürür.

Markdown'dan 𝕏'e deneyin

Çözülecek daha fazla kalıp

Son viral makaleler

Daha fazla viral makale keşfet