· kaynak dev.to (home feed)
Güvenlik yazısı: Karakeep crawler'ı SSRF yoluyla iç ağları açığa çıkarabiliyor
dev.to'da yayımlanan bir güvenlik analizi, Karakeep'ün URL crawler'ının yer imi kaydedebilen herkese sunucuyu iç adreslere eriştirme imkânı verdiğini ve işletmecilerin riski nasıl sınırlayabileceğini gösteriyor.

Temel sorun
Karakeep, kullanıcıların kaydettiği URL'leri çeken, bazen de sayfaları göründükleri haliyle arşivlenebilsin diye gerçek bir tarayıcıyla açan bir yer imi aracı. dev.to'da yayımlanan bir güvenlik yazısında açıklandığı gibi, bunun gözden kaçması kolay bir sonucu var: yer imi gönderebilen herkes, sunucuyu bir ağ bağlantısı açmaya yönlendirebilir. Kullanıcı ile sunucu genellikle farklı ağ konumlarında bulunur — kendi örneğinizi çalıştırmanın tüm mantığı da budur — dolayısıyla crawler, gönderen kişiye kendi makinesinden asla yapamayacağı istekleri, sunucunun iç ağına yönelik istekler dahil, tetikleme imkânı verir.
Bu, sunucu taraflı istek sahteciliği (SSRF) açığının klasik biçimidir: erişim kontrolü sorusu "kim bu ağa erişebilir"den "sunucuyu kim bu ağa eriştirebilir"e kayar.
Karakeep'ün kendi belgeleri ne diyor
dev.to yazısına göre Karakeep'ün güvenlik rehberi, güvenilmeyen kullanıcılara izin verildiğinde bu riski zaten işaret ediyor. Belgeler üç endişe sıralıyor: crawler, işletmecinin kendisiyle ilişkilendirmek istemeyeceği sitelere hizmetin IP adreslerinden bağlanabilir; kullanıcı kontrolündeki sayfalar sunucunun gerçek IP'sini ele verebilir; crawler, sunucunun ağ segmentindeki iç uç noktalara erişebilir. Projenin önerdiği önlemler örneği güvenilir kullanıcılara sınırlamak, kısıtlı bir VPN arkasında tutmak, tarayıcıyı ana ağın dışında çalıştırmak veya barındırılan bir tarayıcı hizmetine güvenmek.
Karakeep temel SSRF korumalarıyla geldiğini söylüyor; ancak yazı, aynı paragrafın bu denetimlerin riskin yalnızca bir kısmını kapsadığını itiraf ettiğini belirtiyor. Bu ayrım önemli. Bir URL doğrulayıcı, bariz loopback veya cloud metadata adreslerini reddedebilir ama bir yönlendirme, bir IP adresinin alternatif yazımı, DNS davranışı veya beklenmedik bir protokol işleyicisi tarafından alt edilebilir. Bu nedenle sağlam tasarım varsayımı, crawler'ın ne olursa olsun giden istekler yapacağı ve ortamın bunları kontrol altında tutması gerektiğidir.
Ortada kaç örnek var
Yazar, açığın boyutunu ölçmek için internet genelinde bir arama motoru olan ZoomEye'ı 6 Kasım 2026'da sorgulamış. Uygulama alanına yapılan parmak izi sorgusu sıfır sonuç döndürmüş, Karakeep başlık araması 1.183, HTTP yanıt gövdesi araması ise 6.101 sonuç vermiş. Yazar, gövde sayısının ürünün adı geçen sayfa ve dizinleri de yakaladığı için gerçekten fazlasını gösterdiğini, yani bir dağıtım toplamı olmadığı konusunda uyarıyor. Başlık sonucu, gerçekten açıkta örnek çalıştıranların tespiti için bir aday kümesi olarak okunmalı.
Crawler'ı sınırlamak
Yazının pratik önerileri parser hilelerinden çok ağ tasarımına odaklanıyor:
- Crawler'ı ayrı bir ağ segmentine yerleştirin.
- Giden HTTP ve HTTPS trafiğine yalnızca denetimli bir proxy üzerinden izin verin; ürün destekliyorsa.
- Link-local metadata adreslerini, iç yönetim ağlarını, veritabanı aralıklarını ve diğer hassas iç uç noktaları engelleyin.
- Sayfa içeriğini gereksiz yere saklamadan, hedef sunucuyu, çözülen adresi, yanıt sınıfını ve her yer imini gönderen kullanıcıyı kaydedin.
Hesap düzeni de önemli: kimlerin kullanıcı davet edebildiğini veya kayıt olabildiğini gözden geçirin, tek ekipli örneklerde kaydı kapatın ve kullanılmayan hesapları kaldırın. İşletmeciler ayrıca herkese açık yer imi paylaşımının özel listeleri, arşivleri, ekran görüntülerini veya PDF'leri sızdırmadığını doğrulamalı ve depolanmış araştırma verilerini tarayıcı runtime'ından uzak tutmalıdır — ele geçirilmiş bir tarayıcı, başarısız bir crawl'dan çok daha değerli bir hedeftir.
Test edin ve kötü güne hazırlıklı olun
Doğrulama için yazar, denetimli bir iç hedefe yönlendirilmiş bir laboratuvar örneği öneriyor: doğrudan özel adresleri, özel adreslere yönelik yönlendirmeleri, alternatif IP kodlamalarını ve içeride çözümlenen DNS adlarını deneyin; bu sırada amaçlanan genel yolun hâlâ çalıştığını kontrol edin. Amaç, ağ politikasının tuttuğunu kanıtlamaktır; olası her URL parser atlatmasını denetlemek değil.
Bir olay yaşanırsa, tarayıcı süreci ve uygulama ayrı kanıt kaynakları olarak ele alınmalıdır. Crawl işlerini, giden proxy kayıtlarını, DNS kayıtlarını ve tarayıcı yapıtlarını koruyun; oturumları düşürün; runtime'dan erişilebilen tüm kimlik bilgilerini değiştirin; tarayıcı container'ını yeniden kurun.
Neden önemli
Kullanıcı adına sayfa çeken kendi kendine barındırılan araçlar giderek yaygınlaşıyor ve her biri, bir bağlantı gönderen kişiden verileri tutan sunucuya sessizce bir ağ erişim kararı devrediyor. Karakeep riski belgelediği için takdiri hak ediyor; ama kendi belgeleri yerleşik SSRF denetimlerinin kısmi olduğunu kabul ediyor. Herkese açık ya da yarı herkese açık bir örnek çalıştıran herkes için etkili kontrol mimariseldir: gönderilen URL'lerin iç ağ isteklerine dönüşebileceğini varsayın ve giden trafik yolunu buna göre tasarlayın. ZoomEye rakamları, bu sorunun sorulmaya değer olduğu binin üzerinde aday örnek olduğunu gösteriyor.
- #karakeep
- #self-hosting
- #ssrf
- #web-security