Maigret Nedir: Çalışan OSINT Tarayıcı

Ashley Innocent

Ashley Innocent

11 May 2026

Maigret Nedir: Çalışan OSINT Tarayıcı

Çoğu OSINT aracı hızla eskimektedir. Web altlarında değişir, siteler uç noktalarını taşır, captcha'lar gelişir ve araç iki yıl içinde ölür. Maigret bir istisnadır. Yıllardır çalışıyor, 3.000'den fazla siteyi destekliyor, bir Python paketi, bir Telegram botu ve bir web kullanıcı arayüzü sunuyor ve içindeki mühendislik, bir site her değiştiğinde bozulmayan bir tarayıcının nasıl inşa edileceğine dair küçük bir ustalık sınıfıdır.

Bu rehber, sıradan aramalar için değil, mühendisler içindir. Maigret'in ne yaptığını, onu haklı çıkaran meşru araştırma ve güvenlik kullanım durumlarını, binlerce siteye ölçeklenmesini sağlayan mimariyi ve Maigret'in kullandığı aynı test modellerinin (imza veritabanları, sapma tespiti, özyinelemeli doğrulama) Apidog ile her gün yaptığınız API test çalışmalarına nasıl dönüştüğünü anlatıyor.

button

Henüz okumadıysanız, 2026'da Postman Olmadan API Testi başlıklı yazımızda, daha dostça bir alanda benzer kalıp eşleştirme ve sapma tespiti fikirleri ele alınmaktadır.

TL;DR

button

Maigret Nedir ve Ne Değildir

Maigret, soxoj tarafından sürdürülen, MIT lisanslı bir Python aracıdır. README'deki tanıtım şöyledir: "3.000'den fazla siteden kullanıcı adına göre bir kişi hakkında dosya toplar." pip install maigret komutunu çalıştırın, bir kullanıcı adı verin ve o, veritabanındaki siteleri sorgular, bulunan her hesabın arkasındaki herkese açık profil bilgilerini kazır ve bir rapor oluşturur.

Netleştirmemiz gereken üç şey var.

Yalnızca herkese açık verileri kullanır. Giriş yok, kimlik bilgisi kötüye kullanımı yok, API anahtarı yok. Bir site anonim ziyaretçilere bir profil gösteriyorsa, Maigret onu okur; göstermiyorsa, "kullanıcı adı bulunamadı" veya işaretlenmiş bir sayfa döndürür.

Meşru araştırma bağlamlarında yaygın olarak kullanılır. Büyük soruşturma kuruluşlarındaki gazeteciler, kayıp kişilerin bulunması gönüllüleri, dolandırıcılık ve marka koruma ekipleri ve yetkili kırmızı ekipler tarafından günlük olarak kullanılır. Maigret README'si bile akademik OSINT müfredatında referanslar listelemektedir.

Yanlış kullanılabilir. Her OSINT aracı gibi, rızası olmadan özel bir kişi üzerinde çalıştırmak etik ve birçok yargı alanında yasal sınırları aşar. AB, ABD ve çoğu diğer bölgedeki takip yasaları geçerlidir. Bu aracı herhangi bir kişiye yöneltmeden önce yerel kurallarınızı okuyun.

Bu makalenin geri kalanı, insan hedefli iş akışına değil, mühendisliğe ve aktarılabilir test modellerine odaklanmaktadır.

Site imza veritabanı

Maigret'teki en iyi mühendislik fikri, site imza veritabanıdır. Her giriş, tarayıcının karar verebileceği yeterli bilgiyle bir siteyi tanımlar:

Veritabanı JSON formatındadır, depoda sürümlüdür ve araç çalıştığında her 24 saatte bir GitHub'dan otomatik olarak güncellenir. Bakımcılar, yakın zamanda değişen bir site için bir imzayı güncellerse, her Maigret kurulumu ertesi gün yeniden kurulum yapmadan onu alır.

Bu model, bir API test paketi için istediğinizle tamamen aynıdır. Projenizin 50, 500 veya 5.000 uç noktası vardır. Her uç noktanın bir imzası vardır: beklenen durum kodları, yanıt şekilleri, hata zarfları. Bir satıcı şekli değiştirdiğinde, test paketinin faydalı bir farkla hızla başarısız olmasını istersiniz. Aynı fikri sözleşme öncelikli API geliştirmede ve MCP sunucu testi oyun kitabında ele aldık.

Maigret "kullanıcı adı bulundu" ve "bulunamadı" ayrımını nasıl yapar?

Basit bir tarayıcı, https://example.com/user/<username> adresine bir HTTP GET isteği yapar ve durum kodunu kontrol eder. Bu, gerçek sitelerin belki yüzde 10'u için işe yarar. Diğer yüzde 90'ı "böyle bir kullanıcı yok" sayfasıyla 200 döndürür veya önbelleğe alınmış bir ana sayfa ile 200 döndürür veya bir captcha meydan okumasıyla 200 döndürür.

Maigret'in veritabanı, her siteyi daha zengin bir dizi tespit kuralıyla tanımlar:

"Bulundu" kararı, tüm presenseStrs'lerin yanıtta mevcut olmasını ve absenceStrs'lerin hiçbirinin olmamasını gerektirir. "Bulunamadı" kararı bunun tersidir. Diğer her şey, kullanıcının manuel olarak inceleyebileceği "bilinmeyen" bir sonuçtur.

Bu, karmaşık API'leri test ederken istediğiniz çok sinyalli iddia türüdür. 200 durumu yeterli değildir; gövde içeriğini de doğrulamanız gerekir. Apidog, aynı istekte hem durum kodu hem de gövde içeriği iddialarını destekler, bu da Maigret'in presenseStrs artı absenceStrs'sinin API testindeki karşılığıdır.

Özyinelemeli arama ve bilgi çıkarma

Maigret bir hesap bulduktan sonra iki şey daha yapar.

Ek tanımlayıcılar için herkese açık profil sayfasını kazır: bağlantılı e-posta adresleri, telefon numaraları, gerçek adlar, diğer kullanıcı adları. Çıkarma kuralları da imza tabanlıdır, her site için ayrı ayrı tanımlanır. Bir LinkedIn profili, bir GitHub profilinden farklı alanlar verir.

Ardından özyineleme yapar. Yeni tanımlayıcılar arama döngüsüne geri beslenir ve bağlı hesaplar genelinde dosyayı genişletir. Bir sitedeki kullanıcı adı gerçek bir isme yol açabilir; bu isim başka bir sitede farklı bir hesabı açabilir; o hesap bir Instagram kullanıcı adına bağlanabilir; ve bu böyle devam eder.

OSINT için bu, "Bir Twitter hesabı buldum" ile "Bu kişiyi 12 hizmette takip ettim" arasındaki farktır. Bir API test paketi için aynı model değerlidir: bir uç noktanın yanıtında belgelenmemiş bir alan keşfettiğinizde, onu takip edin. Genellikle ilgili bir uç noktaya, bir alt sistemine veya eksik bir test durumuna işaret eder.

Captcha ve hız sınırı yönetimi

Maigret, yanıt şeklini okuyarak captcha'ları kısmen atlar ve hız limitlerini tespit eder. Atlatma stratejileri şunları içerir:

README, bunun kısmi olduğunu dürüstçe belirtir. Bir site agresif otomasyon karşıtı önlemlere sahipse, Maigret "captcha algılandı" kaydını tutar ve kullanıcının manuel olarak incelemesine izin verir. Araç, düşmanca savunmaları yenmeye çalışmaz; temel anonim erişime izin veren sitelerle çalışır.

Model aktarılır: bir API istemcisi veya test çalıştırıcısı oluştururken, hız sınırı yanıtlarını algılamak ve zarifçe geri çekilmek için tasarlayın, kaba kuvvetle zorlamak için değil. Maigret'i satıcı koşullarının doğru tarafında tutan aynı savunmacı duruş, API testlerinizin ekibin IP'sinin yasaklanmasını önler.

İmza kayması sorunu

3.000 sitelik bir veritabanı ancak güncel kaldığı sürece kullanışlıdır. Siteler profil sayfalarını yeniden tasarlar, URL kalıplarını değiştirir, captcha'lar ekler veya satın alınıp yeniden markalaşır. Eski bir imza yanlış negatifler (aramanız hiçbir şey bulmaz) veya yanlış pozitifler (var olmayan hesaplar bulur) döndürür.

Maigret bunu üç katmanla ele alır:

Üçüncü madde, çoğu mühendislik ekibinin gözden kaçırdığıdır. Maigret, her site için bilinen, mevcut bir kullanıcı adını saklar (genellikle rıza gösteren bir geliştirici veya bakımcı). Mekanizma bu kullanıcı adını sorgular ve imzanın hala çalıştığını doğrular. Sapma tespit edildi, imza işaretlendi, katkıda bulunanlara bildirim yapıldı.

Bu, kendi API sözleşmeleriniz için istediğiniz türde bir regresyon paketidir. Apidog aynı modeli destekler: her uç nokta için bilinen iyi bir yanıtı kaydedin, belirlenmiş bir programa göre canlı uç noktaya karşı tekrar oynatın, sonucu karşılaştırın ve sapma durumunda uyarı verin. DeepSeek V4 API rehberimiz, bunun belirli bir satıcı için manuel tarafını kapsar.

İsteğe bağlı yapay zeka özet modu

--ai bayrağı, Maigret'in ham bulgularını OpenAI uyumlu bir LLM uç noktasını kullanarak kısa bir soruşturma özetine dönüştürür. API anahtarını siz sağlarsınız; Maigret istemi ve çağrıyı yapılandırır.

Bu, LLM'nin son işlemci olarak doğru bir şekilde kullanılmasının güzel bir örneğidir. Model asla bir kullanıcı adının eşleşip eşleşmediğine karar vermez; bu kural tabanlı ve deterministiktir. Model yalnızca özetleme yapar, bu konuda iyidir ve kısıtlı bir girdi üzerinde çalışır. Halüsinasyonlar sınırlıdır.

Aynı mimari API izleme için de iyi çalışır: Apidog'daki deterministik kural tabanlı iddialar ve çalıştırma raporunu sonunda Slack dostu bir özete dönüştüren bir LLM son işlemci. Bilgisayar kullanımı ve yapılandırılmış API'ler başlıklı yazımız, yapılandırılmış katmanın neden her zaman önce gelmesi gerektiğini açıklar.

Bilmeye değer meşru kullanım durumları

Maigret çalıştırmanın açıkça uygun olduğu beş bağlam.

Kendi hesabınızı kurtarma. 2014'te kullandığınız bir kullanıcı adına bağlı her eski hesabı bulun. Gizlilik denetimlerinden önce veya dijital ayak izinizi kapatırken faydalıdır.

Marka suiistimali izleme. Şirketler, taklit hesapları tespit etmek için markaları veya ürün adları üzerinde Maigret'i çalıştırır. Çoğu yargı alanı bu tür izlemeyi teşvik eder; bazıları bunu gerektirir.

Kayıp kişi gönüllülük çalışması. Arama kurtarma ve kayıp kişi kuruluşları, dijital ayak izlerini takip etmek için aile rızasıyla Maigret'i kullanır. Her zaman kolluk kuvvetleriyle koordine olun; burada serbest çalışma genellikle soruşturmaları zorlaştırır.

Yetkili kırmızı ekip görevleri. İmzalanmış sözleşme kapsamındaki sızma testi ekipleri, bir kuruluşun herkese açık saldırı yüzeyini haritalamak için Maigret'i kullanır. Sözleşme kapsamı tanımlar; araç sadece uygulamadır.

Araştırmacı gazetecilik. Dolandırıcılık, kamu figürlerinin suiistimali veya organize suçları araştıran muhabirler, editoryal ve hukuki inceleme altında OSINT araçlarını kullanır.

Bu listede olmayanlar: merak saikiyle bir yabancıyı aramak, eski bir partneri gözetlemek veya rıza göstermeyen kişiler hakkında bir veri kümesi oluşturmak. Bu kullanımlar, çoğu yargı alanında yasal sınırları, her yerde ise etik sınırları aşar.

Maigret'ten API testine uygulayabileceğiniz modeller

Doğrudan aktarılan beş mühendislik fikri.

Bunları uyguladığınızda, API test paketiniz Maigret'in sahip olduğu aynı uzun ömürlülüğü kazanır. Çoğu test paketi, bir kez yazıldığı, elle kodlandığı ve asla güncellenmediği için ölür. Maigret'in mimarisi, hayatta kalan bir model için bir örnektir.

Maigret çalıştırırken sık karşılaşılan tuzaklar

Aracın kendisiyle deney yapan mühendisler için.

Gerçek dünya kullanım durumları

Bir güvenlik danışmanlığı, her kırmızı ekip kapsam belirleme görevinde Maigret'i ilk adım olarak kullanır. Çıktı başlangıç raporuna dahil edilir, böylece müşteri, görev başlamadan önce herkese açık saldırı yüzeyini görür.

Serbest bir dolandırıcılık araştırmacısı, 3.000 sitelik bir taramayı teknik olmayan müşteriler için 200 kelimelik bir özet haline getirmek için Maigret'i --ai bayrağıyla kullanır. Deterministik arama veridir; LLM okunabilir katmandır.

Bir mühendislik ekibi, 200 mikro hizmet genelinde dahili API test paketini güncel tutmak için aynı mimari fikirleri (imza veritabanı, sapma tespiti, periyodik yeniden oynatma) kullanır. Bunu Apidog'da inşa ettiler; ilkeler Maigret'ten alınmıştır.

Sonuç

Maigret, altta yatan yüzeyler her değiştiğinde bozulmadan binlerce tespit kuralına ölçeklenebilen bir aracın nasıl inşa edileceğine dair işleyen bir örnektir. Bir OSINT araştırması hiç yapmasanız bile mühendisliği incelemeye değerdir: imza veritabanları, çok sinyalli iddialar, otomatik güncellenen veriler, sapma tespiti ve LLM son işlem, hepsi günlük olarak yaptığınız API test çalışmalarına aktarılabilir.

Beş çıkarım:

Bir sonraki adım: Maigret site veritabanı formatını okuyun, ardından Apidog'u açın ve projenizdeki bir uç noktayı aynı şekilde tasarlayın: imza tabanlı, çok sinyalli, sapma tespiti için kaydedilmiş bir fikstür ile. Bir satıcı sabah 2'de bir alanı yeniden adlandırdığında ve paketiniz kullanıcılar yapmadan önce onu yakaladığında bu disiplin meyvesini verir.

button

SSS

Maigret'i kullanmak yasal mı?

Yargı alanına ve hedefe bağlıdır. Kendi üzerinizde, sahip olduğunuz hesaplarda, test etmek için yazılı yetkiniz olan bir şirkette veya yetkili gazeteciliğin bir parçası olarak çalıştırmak genellikle sorunsuzdur. Şüphelenmeyen bir kişi üzerinde çalıştırmak, AB, ABD, Birleşik Krallık ve diğer çoğu bölgedeki takip ve taciz yasalarını ihlal edebilir. Üçüncü bir tarafı hedef alan herhangi bir kullanımdan önce yerel kurallarınızı okuyun.

Maigret Python olmadan çalışır mı?

Resmi paket Python 3.10+'dır. Yazar, sıradan aramalar için bir Telegram botu ve yerel kurulum istemeyen kullanıcılar için bir Bulut Kabuğu kurulumu sürdürmektedir.

3.000 site iddiası ne kadar doğru?

Depodaki site veritabanı 3.000'den fazla giriş listeler; hepsi her an aktif değildir. Otomatik güncelleme, çalışan bir alt kümeyi güncel tutar. Etiket filtreleme, kapsamınız için önemli olabilecek sitelere odaklanmanıza yardımcı olur.

Yapay zeka modu ne ekler?

--ai bayrağı, deterministik bulguları okunabilir bir rapora özetlemek için OpenAI uyumlu bir LLM kullanır. Aramanın kendisini değiştirmez; sadece son işlem yapar. Kendi API anahtarınızı getirin.

Maigret'i CI'da kullanabilir miyim?

OSINT araştırmaları için hayır; bu etkileşimli bir çalışmadır. Maigret'in kullandığı mimari modeller (imza veritabanları, sapma tespiti, planlanmış yeniden oynatma), API testi için CI boru hattınızda olması gerekenlerdir. Apidog bunları yerel olarak uygular.

Bu, Sherlock'tan nasıl farklıdır?

Sherlock daha eski, daha basit bir atasıdır. Maigret, bilgi çıkarma, özyinelemeli arama, captcha işleme, yapay zeka özet modu ve daha zengin bir site veritabanı ile onu genişletir. Her ikisi de MIT lisanslıdır ve bilgi sahibi olmaya değerdir.

Eski bir imzayı nereye bildirmeliyim?

README, Maigret deposundaki GitHub sorunlarına ve çekme isteklerine işaret eder. Topluluk katkıları veritabanını güncel tutar; eski her site için bir çekme isteği normdur.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin

Maigret Nedir: Çalışan OSINT Tarayıcı