Maigret는 사용자 이름 하나만으로 방대한 웹사이트에서 계정을 확인하고 사용 가능한 모든 정보를 수집하여 특정 인물에 대한 포괄적인 조사 보고서(dossier)를 작성하는 OSINT 도구입니다. API 키 없이 작동하며, 3,000개 이상의 사이트를 지원하고 재귀적 검색, 태그 필터링, CAPTCHA 우회 등 고급 기능을 제공합니다.
이 도구는 Python 라이브러리 형태로 임베딩하여 커스텀 워크플로우에 통합할 수 있으며, 웹 UI를 통해 결과를 시각화하고 PDF/HTML 보고서로 다운로드할 수 있습니다. 또한, 선택적으로 OpenAI 호환 API를 사용하여 원시 조사 결과에 대한 AI 요약 분석을 수행할 수 있습니다.
핵심 포인트
사용자 이름 기반의 포괄적인 OSINT(Open Source Intelligence) 데이터 수집 및 인물 서류 작성 기능 제공.
3,000개 이상의 사이트를 지원하며, 재귀적 검색과 태그 필터링을 통해 정보를 심층적으로 탐색함.
Python 라이브러리 형태로 임베딩 가능하여 커스텀 OSINT 파이프라인 구축에 용이함.
웹 UI를 제공하여 수집된 데이터를 그래프로 시각화하고 다양한 형식의 보고서(PDF, HTML)로 다운로드할 수 있음.
선택적으로 OpenAI 호환 API를 사용하여 조사 결과에 대한 AI 요약 분석을 수행할 수 있음.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
Maigret는 사용자의 Python 프로젝트에 내장(embedded)될 수 있습니다. CLI는 직접 호출할 수 있는 비동기 함수(async function)를 감싸는 얇은 래퍼(thin wrapper)입니다. 이를 통해 커스텀 파이프라인(custom pipelines)을 구축하거나, 결과를 자체 도구에 전달하거나, 더 큰 OSINT 워크플로우(workflow) 내에서 실행할 수 있습니다.
작동 예시, 비동기 패턴(async patterns), 태그(tag)별 사이트 필터링 방법은 전체 라이브러리 사용 가이드를 참조하세요.
--parse URL
— 프로필 페이지를 파싱(parse)하여 ID/사용자 이름을 추출하고, 이를 사용하여 재귀적 검색(recursive search)을 시작합니다.
--permute
— 둘 이상의 입력값으로부터 가능한 사용자 이름 변형(variants)을 생성하여(예: john doe → johndoe, j.doe, ...) 모두 검색합니다.
--self-check [--auto-disable]
— 데이터베이스를 감사(auditing)하는 관리자를 위해, 실제 사이트에서 usernameClaimed / usernameUnclaimed 쌍을 검증합니다.
--ai / --ai-model
— 검색 결과에 대해 AI 분석을 실행하고 터미널로 짧은 조사 요약(investigation summary)을 스트리밍(stream)합니다.
--ai는 검색 결과를 수집하고 내부 Markdown 보고서를 작성한 뒤, 이를 OpenAI 호환 채팅 완성(chat completion) 엔드포인트로 전송하여 짧고 중립적인 조사 요약(실명 가능성, 위치, 직업, 관심사, 언어, 신뢰도, 후속 단서 등)을 생성합니다. 사이트별 진행 상황은 억제되며, 모델의 출력은 stdout으로 스트리밍됩니다.
export OPENAI_API_KEY=sk-...
maigret user --ai
# 다른 모델을 선택하세요
...
1
2
3
4
5
API 키는 settings.json 파일 내의 openai_api_key로도 설정할 수 있습니다.
엔드포인트(Endpoint)는 기본적으로 https://api.openai.com/v1이지만, settings.json의 openai_api_base_url을 통해 OpenAI 호환 API(Azure OpenAI, OpenRouter, 로컬 서버 등)를 지정할 수 있습니다. 전체 옵션 목록은 설정(settings) 문서를 참조하세요.
Maigret는 프록시(Proxy), Tor, 또는 I2P를 통해 검사를 라우팅할 수 있습니다. 이는 .onion / .i2p 사이트 이용이나 데이터센터 IP를 차단하는 WAF(Web Application Firewall)를 우회할 때 유용합니다.
# 모든 HTTP/SOCKS 프록시
maigret user --proxy socks5://127.0.0.1:1080
# Tor (기본 게이트웨이 socks5://127.0.0.1:9050)
...
1
2
3
4
5
명령어를 실행하기 전에 Tor / I2P 데몬(Daemon)을 먼저 시작하세요. Maigret는 이러한 게이트웨이를 직접 관리하지 않습니다.
실험적 기능입니다. Cloudflare 웹게이트(webgate)는 현재 활발히 개발 중입니다. 구성 스키마(Configuration schema), CLI 동작 및 라우팅되는 사이트 집합은 하위 호환성(Backwards-compatibility) 보장 없이 변경될 수 있습니다.
데이터베이스 내 사이트 중 일부는 JavaScript 챌린지(Challenge)를 해결하기 위해 실제 브라우저가 필요합니다. Maigret는 이러한 검사를 로컬 FlareSolverr 인스턴스로 오프로드(Offload)할 수 있습니다.
우회 기능은 선택 사항이며(--cloudflare-bypass 또는 settings.json의 cloudflare_bypass.enabled), protection 필드가 일치하는 사이트에 대해서만 실행됩니다. 백엔드 옵션 및 구성에 대해서는 기능(feature) 문서를 참조하세요.
새로운 사이트를 추가하거나 수정할 때는 data.json에서 정밀하게 작업하고(json.load / json.dump 사용 금지), ./utils/update_site_data.py를 실행하여 sites.md와 데이터베이스 메타데이터를 재생성한 후 풀 리퀘스트(Pull Request)를 생성하세요. 자세한 내용은 CONTRIBUTING 가이드와 개발(development) 문서를 참조하세요. 릴리스 기록: CHANGELOG.md.
오픈 소스인 Maigret는 MIT 라이선스를 따르며 상업적 용도로 제한 없이 무료로 사용할 수 있습니다. 다만, 사이트 검사 기능은 시간이 지남에 따라 작동이 중단될 수 있으므로 지속적인 유지보수가 필요합니다.
본격적인 상업적 이용 — 매일 업데이트되는 사이트 데이터베이스 (site database) 또는 사용자 이름 확인 API (username-check API) — 를 원하시면 다음으로 연락해 주세요: 📧 [email protected]
프라이빗 사이트 데이터베이스 (Private site database) — 5,000개 이상의 사이트, 매일 업데이트 (공개 오픈 소스 데이터베이스와는 별개)
사용자 이름 확인 API (Username check API) — Maigret를 귀하의 제품에 통합
교육 및 합법적인 목적으로만 사용하십시오. 귀하는 해당 관할 구역의 모든 관련 법률(GDPR, CCPA 등)을 준수할 책임이 있습니다. 저자들은 오용에 대해 어떠한 책임도 지지 않습니다.
이슈 생성 (Open an issue) · GitHub Discussions · Telegram
사용된 OSINT 기술:
SOTL-2.2. 타 플랫폼에서 계정 검색 (Search For Accounts On Other Platforms)
SOTL-6.1. 다른 계정을 찾기 위한 로그인 재사용 확인 (Check Logins Reuse To Find Another Account)
SOTL-6.2. 다른 계정을 찾기 위한 닉네임 재사용 확인 (Check Nicknames Reuse To Find Another Account)