Apa Itu Maigret: Pemindai OSINT yang Tidak Merusak

Ashley Innocent

Ashley Innocent

11 May 2026

Apa Itu Maigret: Pemindai OSINT yang Tidak Merusak

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Sebagian besar alat OSINT cepat usang. Web berubah di bawahnya, situs memindahkan titik akhir, captcha berevolusi, dan alat tersebut mati dalam dua tahun. Maigret adalah pengecualiannya. Ia telah berjalan selama bertahun-tahun, mendukung lebih dari 3.000 situs, menyediakan paket Python, bot Telegram, dan antarmuka web, dan rekayasa di dalamnya adalah sebuah kelas master kecil tentang cara membangun pemindai yang tidak rusak setiap kali situs berubah.

Panduan ini ditujukan untuk para insinyur, bukan untuk pencarian biasa. Ini menjelaskan apa yang dilakukan Maigret, kasus penggunaan penelitian dan keamanan yang sah yang membenarkannya, arsitektur yang memungkinkannya berskala ke ribuan situs, dan bagaimana pola pengujian yang sama yang digunakan Maigret (basis data tanda tangan, deteksi penyimpangan, verifikasi rekursif) diterjemahkan ke dalam pekerjaan pengujian API yang Anda lakukan setiap hari dengan Apidog.

button

Jika Anda belum membacanya, postingan kami Pengujian API tanpa Postman di tahun 2026 membahas ide pencocokan pola dan deteksi penyimpangan serupa dalam domain yang lebih ramah.

TL;DR

button

Apa itu Maigret dan Apa Bukan

Maigret adalah alat Python, berlisensi MIT, yang dikelola oleh soxoj. Ringkasan README: “mengumpulkan berkas tentang seseorang berdasarkan nama pengguna dari lebih dari 3.000 situs.” Jalankan pip install maigret, berikan nama pengguna, dan ia akan menanyakan situs-situs di basis datanya, mengambil informasi profil publik apa pun yang ada di balik setiap akun yang ditemukan, dan menghasilkan laporan.

Tiga hal yang perlu diperjelas.

Ia hanya menggunakan data publik. Tanpa login, tanpa penyalahgunaan kredensial, tanpa kunci API. Jika sebuah situs mengekspos profil kepada pengunjung anonim, Maigret membacanya; jika tidak, ia mengembalikan “nama pengguna tidak ditemukan” atau halaman yang ditandai.

Ini banyak digunakan dalam konteks penelitian yang sah. Jurnalis di outlet investigasi besar, sukarelawan orang hilang, tim pencegahan penipuan dan perlindungan merek, serta tim merah yang berwenang menggunakannya setiap hari. README Maigret sendiri mencantumkan referensi dalam kurikulum OSINT akademik.

Ini dapat disalahgunakan. Seperti alat OSINT lainnya, menjalankannya pada individu pribadi tanpa persetujuan mereka melanggar batas etika dan di banyak yurisdiksi batas hukum. Undang-undang penguntitan di UE, AS, dan sebagian besar wilayah lain berlaku. Baca peraturan lokal Anda sebelum mengarahkannya kepada siapa pun.

Sisa artikel ini berfokus pada rekayasa dan pola pengujian yang dapat ditransfer, bukan pada alur kerja penargetan manusia.

Basis Data Tanda Tangan Situs

Ide rekayasa terbaik dalam Maigret adalah basis data tanda tangan situs. Setiap entri menjelaskan satu situs dengan informasi yang cukup agar pemindai dapat memutuskan:

Basis data tersebut berformat JSON, di-versi dalam repositori, dan diperbarui secara otomatis dari GitHub setiap 24 jam saat alat dijalankan. Jika pengelola memperbarui tanda tangan untuk situs yang baru saja berubah, setiap instalasi Maigret akan mengambilnya keesokan harinya tanpa perlu menginstal ulang.

Pola ini persis sama dengan yang Anda inginkan untuk suite pengujian API. Proyek Anda memiliki 50, 500, atau 5.000 titik akhir. Setiap titik akhir memiliki tanda tangan: kode status yang diharapkan, bentuk respons, amplop kesalahan. Ketika vendor mengubah bentuknya, Anda ingin suite pengujian gagal dengan cepat dengan perbedaan yang berguna. Kami membahas ide yang sama dalam pengembangan API berorientasi kontrak dan dalam panduan pengujian server MCP.

Bagaimana Maigret Mendeteksi “Nama Pengguna Ditemukan” vs “Tidak Ditemukan”

Pemindai yang naif melakukan HTTP GET pada https://example.com/user/<username> dan memeriksa kode status. Itu mungkin berfungsi untuk sekitar 10 persen situs nyata. 90 persen lainnya mengembalikan 200 dengan halaman “tidak ada pengguna tersebut”, atau 200 dengan halaman utama yang di-cache, atau 200 dengan tantangan captcha.

Basis data Maigret menjelaskan setiap situs dengan serangkaian aturan deteksi yang lebih kaya:

Putusan “ditemukan” memerlukan semua presenseStrs hadir dalam respons dan tidak ada absenceStrs. Putusan “tidak ditemukan” adalah kebalikannya. Hal lainnya adalah hasil “tidak diketahui” yang dapat diselidiki pengguna secara manual.

Ini adalah jenis asersi multi-sinyal yang sama yang Anda inginkan saat menguji API yang kompleks. Status 200 saja tidak cukup; Anda juga perlu melakukan asersi pada konten badan respons. Apidog mendukung asersi kode status dan konten badan respons dalam permintaan yang sama, yang merupakan padanan pengujian API dari presenseStrs ditambah absenceStrs Maigret.

Pencarian Rekursif dan Ekstraksi Informasi

Setelah Maigret menemukan akun, ia melakukan dua hal lagi.

Ia melakukan scraping halaman profil publik untuk pengenal tambahan: alamat email tertaut, nomor telepon, nama asli, nama pengguna lain. Aturan ekstraksi juga digerakkan oleh tanda tangan, didefinisikan per situs. Profil LinkedIn menghasilkan bidang yang berbeda dari profil GitHub.

Kemudian ia melakukan rekursi. Pengenal baru dimasukkan kembali ke dalam lingkaran pencarian, memperluas berkas di seluruh akun yang tertaut. Nama pengguna di satu situs mungkin mengarah ke nama asli; nama itu mungkin membuka akun yang berbeda di situs lain; akun itu mungkin tertaut ke pegangan Instagram; dan seterusnya.

Untuk OSINT, ini adalah perbedaan antara “Saya menemukan satu akun Twitter” dan “Saya melacak orang ini di 12 layanan.” Untuk suite pengujian API, pola yang sama juga berharga: ketika Anda menemukan bidang yang tidak terdokumentasi dalam respons satu titik akhir, ikuti itu. Ini sering menunjuk ke titik akhir terkait, sistem hilir, atau kasus uji yang hilang.

Penanganan Captcha dan Batasan Laju

Maigret sebagian mem-bypass captcha dan mendeteksi batasan laju dengan membaca bentuk respons. Strategi bypass meliputi:

README jujur bahwa ini sebagian. Jika sebuah situs memiliki anti-otomasi yang agresif, Maigret mencatat “captcha terdeteksi” dan membiarkan pengguna menyelidiki secara manual. Alat ini tidak mencoba mengalahkan pertahanan yang hostile; ia bekerja dengan situs yang mengizinkan akses anonim dasar.

Polanya dapat ditransfer: saat Anda membangun klien API atau penjalankan uji, rancanglah untuk mendeteksi respons batasan laju dan mundur dengan anggun, bukan untuk melakukan brute-force melaluinya. Sikap defensif yang sama yang menjaga Maigret tetap di sisi yang benar dari persyaratan vendor menjaga pengujian API Anda agar tidak membuat IP tim Anda diblokir.

Masalah Penyimpangan Tanda Tangan

Basis data 3.000 situs hanya berguna jika tetap terkini. Situs mendesain ulang halaman profil, mengubah pola URL, menambahkan captcha, atau diakuisisi dan diganti merek. Tanda tangan yang usang mengembalikan negatif palsu (pencarian Anda tidak menemukan apa pun) atau positif palsu (ia menemukan akun yang tidak ada).

Maigret mengatasi hal ini dengan tiga lapisan:

Item ketiga adalah yang paling sering diabaikan oleh sebagian besar tim rekayasa. Maigret menyimpan nama pengguna yang sudah dikenal untuk setiap situs (biasanya pengembang atau pemelihara yang telah menyetujui). Harness tersebut menanyakan nama pengguna tersebut dan mengonfirmasi bahwa tanda tangan masih berfungsi. Penyimpangan terdeteksi, tanda tangan ditandai, kontributor diberitahu.

Ini persis jenis suite regresi yang Anda inginkan untuk kontrak API Anda sendiri. Apidog mendukung pola yang sama: simpan respons yang diketahui baik per titik akhir, putar ulang terhadap titik akhir langsung sesuai jadwal, bedakan hasilnya, dan berikan peringatan tentang penyimpangan. Panduan API DeepSeek V4 kami mencakup sisi manual dari ini untuk satu vendor tertentu.

Mode Ringkasan AI Opsional

Flag --ai mengubah temuan mentah Maigret menjadi ringkasan investigasi singkat menggunakan titik akhir LLM yang kompatibel dengan OpenAI. Anda menyediakan kunci API; Maigret menyusun prompt dan panggilan tersebut.

Ini adalah contoh yang bagus tentang LLM sebagai pascaproses yang dilakukan dengan benar. Model tidak pernah memutuskan apakah nama pengguna cocok; itu berbasis aturan dan deterministik. Model hanya meringkas, yang memang ahli dalam hal itu, dan beroperasi pada input yang terbatas. Halusinasi terbatas.

Arsitektur yang sama bekerja dengan baik untuk pemantauan API: asersi berbasis aturan deterministik di Apidog, dengan pascaproses LLM yang mengubah laporan eksekusi menjadi ringkasan yang ramah Slack pada akhirnya. Postingan kami penggunaan komputer vs API terstruktur menjelaskan mengapa lapisan terstruktur harus selalu didahulukan.

Kasus Penggunaan Sah yang Perlu Diketahui

Lima konteks di mana menjalankan Maigret jelas tepat.

Apa yang tidak ada dalam daftar ini: mencari orang asing karena penasaran, mengawasi mantan pasangan, atau membangun kumpulan data tentang orang yang tidak menyetujui. Penggunaan tersebut melanggar batas hukum di sebagian besar yurisdiksi dan batas etika di mana pun.

Pola dari Maigret yang Dapat Anda Terapkan pada Pengujian API

Lima ide rekayasa yang dapat diterjemahkan secara langsung.

Terapkan ini dan suite pengujian API Anda akan mendapatkan umur panjang yang sama dengan Maigret. Sebagian besar suite pengujian mati karena ditulis sekali, di-kode secara manual, dan tidak pernah diperbarui. Arsitektur Maigret adalah model untuk yang dapat bertahan.

Kesalahan Umum Saat Menjalankan Maigret

Untuk para insinyur yang bereksperimen dengan alat itu sendiri.

Kasus Penggunaan Dunia Nyata

Konsultan keamanan menggunakan Maigret sebagai langkah pertama dalam setiap keterlibatan cakupan tim merah. Outputnya masuk ke laporan kick-off sehingga klien melihat permukaan serangan publik mereka sebelum keterlibatan dimulai.

Seorang penyelidik penipuan lepas menggunakan Maigret dengan flag --ai untuk meringkas pemindaian 3.000 situs menjadi ringkasan 200 kata untuk klien non-teknis. Pencarian deterministik adalah datanya; LLM adalah lapisan yang mudah dibaca.

Tim rekayasa menggunakan ide arsitektur yang sama (basis data tanda tangan, deteksi penyimpangan, pemutaran ulang berkala) untuk menjaga suite pengujian API internal mereka tetap terkini di 200 microservice. Mereka membangunnya di Apidog; prinsip-prinsipnya adalah milik Maigret.

Kesimpulan

Maigret adalah contoh nyata tentang cara membangun alat yang dapat berskala hingga ribuan aturan deteksi tanpa rusak setiap kali permukaan di bawahnya berubah. Rekayasanya patut dipelajari meskipun Anda tidak pernah menjalankan investigasi OSINT: basis data tanda tangan, asersi multi-sinyal, data yang diperbarui secara otomatis, deteksi penyimpangan, dan pascaproses LLM semuanya dapat ditransfer ke pekerjaan pengujian API yang Anda lakukan setiap hari.

Lima poin penting:

Langkah selanjutnya: baca format basis data situs Maigret, lalu buka Apidog dan rancang satu titik akhir dalam proyek Anda dengan cara yang sama: digerakkan oleh tanda tangan, multi-sinyal, dengan fixture yang disimpan untuk deteksi penyimpangan. Disiplin ini akan membuahkan hasil pertama kali vendor mengganti nama bidang pada jam 2 pagi dan suite Anda mendeteksinya sebelum pengguna mengetahuinya.

button

FAQ

Apakah Maigret legal untuk digunakan?

Itu tergantung pada yurisdiksi dan targetnya. Menjalankannya pada diri sendiri, pada akun yang Anda miliki, pada perusahaan yang Anda memiliki otorisasi tertulis untuk diuji, atau sebagai bagian dari jurnalisme yang berwenang, umumnya tidak masalah. Menjalankannya pada individu yang tidak curiga dapat melanggar undang-undang penguntitan dan pelecehan di UE, AS, Inggris, dan sebagian besar wilayah lain. Baca peraturan setempat Anda sebelum penggunaan apa pun yang menargetkan pihak ketiga.

Apakah Maigret berfungsi tanpa Python?

Paket resminya adalah Python 3.10+. Penulis memelihara bot Telegram untuk pencarian biasa dan pengaturan Cloud Shell untuk pengguna yang tidak menginginkan instalasi lokal.

Seberapa akurat klaim 3.000 situs tersebut?

Basis data situs di repositori mencantumkan lebih dari 3.000 entri; tidak semuanya aktif pada saat tertentu. Pembaruan otomatis menjaga subset yang berfungsi tetap terkini. Pemfilteran tag membantu Anda fokus pada situs yang mungkin relevan dengan cakupan Anda.

Apa yang ditambahkan mode AI?

Flag --ai menggunakan LLM yang kompatibel dengan OpenAI untuk meringkas temuan deterministik menjadi laporan yang mudah dibaca. Ini tidak mengubah pencarian itu sendiri; ini hanya melakukan pascaproses. Bawa kunci API Anda sendiri.

Bisakah saya menggunakan Maigret di CI?

Untuk investigasi OSINT, tidak; itu adalah pekerjaan interaktif. Pola arsitektur yang digunakan Maigret (basis data tanda tangan, deteksi penyimpangan, pemutaran ulang terjadwal) adalah persis apa yang seharusnya ada dalam pipeline CI Anda untuk pengujian API. Apidog mengimplementasikannya secara native.

Apa bedanya dengan Sherlock?

Sherlock adalah leluhur yang lebih tua dan lebih sederhana. Maigret memperluasnya dengan ekstraksi informasi, pencarian rekursif, penanganan captcha, mode ringkasan AI, dan basis data situs yang lebih kaya. Keduanya berlisensi MIT dan patut diketahui.

Di mana saya melaporkan tanda tangan yang usang?

README menunjuk ke masalah GitHub dan permintaan tarik di repositori Maigret. Kontribusi komunitas menjaga basis data tetap terkini; satu PR per situs yang usang adalah hal yang biasa.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.