soxoj/maigret
요약
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 요약 분석을 수행할 수 있음.
Maigret는 사용자 이름(username)만으로 방대한 수의 사이트에서 계정을 확인하고 웹 페이지에서 사용 가능한 모든 정보를 수집하여 특정 인물에 대한 서류(dossier)를 작성합니다. API 키가 필요하지 않습니다.
Python 3.10 이상 버전이 설치되어 있는지 확인하세요.
pip install maigret
maigret YOUR_USERNAME
설치하지 않고 사용하시겠습니까? 커뮤니티 Telegram 봇이나 Cloud Shell을 사용해 보세요.
웹 UI(web UI)를 원하시나요? 실행 방법을 확인하세요.
관련 항목: Quick start.
- 3,000개 이상의 사이트를 지원합니다 (전체 목록 확인). 기본 실행 시 트래픽 기준 상위 500개 사이트를 확인하며, 모든 사이트를 스캔하려면
-a를, 카테고리/국가별로 범위를 좁히려면--tags를 사용하세요. - Python 프로젝트에 임베딩(Embeddable) 가능합니다 —
maigret을 임포트(import)하여 프로그래밍 방식으로 검색을 실행할 수 있습니다 (라이브러리 사용법 참조). - 프로필 페이지와 사이트 API로부터 다른 계정으로의 링크를 포함하여 계정 소유자에 대한 사용 가능한 모든 정보를 추출합니다.
- 발견된 사용자 이름 및 기타 ID를 사용하여 재귀적 검색(recursive search)을 수행합니다.
- 태그(사이트 카테고리, 국가)를 통한 필터링을 지원합니다.
- 차단, 검열 및 CAPTCHA를 감지하고 부분적으로 우회합니다.
- 실행할 때마다 GitHub에서 자동으로 업데이트되는 사이트 데이터베이스를 가져오며(24시간당 1회), 오프라인인 경우 내장된 데이터베이스를 사용합니다.
- Tor 및 I2P 웹사이트와 작동하며, 도메인(domains) 확인이 가능합니다.
- 결과를 그래프로 탐색하고 단일 페이지에서 모든 형식의 보고서를 다운로드할 수 있는 웹 인터페이스(web interface)를 제공합니다.
- 선택 사항인 AI 분석 모드(
--ai)를 통해 OpenAI 호환 API를 사용하여 원시 조사 결과(raw findings)를 짧은 조사 요약으로 변환할 수 있습니다.
전체 기능 목록은 기능 문서(features documentation)를 참조하세요.
Maigret를 기반으로 구축된 전문적인 OSINT 및 소셜 미디어 분석 도구:
'1분 안에 실행하기' 단계를 이미 완료하셨나요? 준비가 끝났습니다. 아래는 대안적인 방법들입니다.
아무것도 설치하고 싶지 않으신가요? 커뮤니티 Telegram 봇을 사용하세요.
Releases에서 독립 실행형 EXE 파일을 다운로드하세요. 비디오 가이드: https://youtu.be/qIgwTZOmMmM.
클라우드 셸(cloud shells) 또는 Jupyter notebooks를 통해 브라우저에서 Maigret를 실행하세요:
# pypi에서 설치
pip3 install maigret
# 사용법
...
# 또는 클론(clone) 후 수동 설치
git clone https://github.com/soxoj/maigret && cd maigret
# 빌드 및 설치
...
두 가지 이미지 변형(variants)이 배포됩니다:
soxoj/maigret:latest
— CLI 모드 (기본값)
soxoj/maigret:web
— 웹 인터페이스(web interface) 자동 실행
# 공식 이미지 (CLI)
docker pull soxoj/maigret
# CLI 사용법
...
빌드 오류가 발생하나요? 문제 해결 가이드(troubleshooting guide)를 참조하세요.
# HTML, PDF, Xmind8 보고서 생성
maigret user --html
maigret user --pdf
...
모든 옵션을 확인하려면 maigret --help를 실행하세요. 문서(Docs): CLI 옵션, 추가 예시. 403 오류나 타임아웃(timeouts)이 발생하나요? TROUBLESHOOTING.md를 참조하세요.
Maigret는 결과 그래프와 다운로드 가능한 보고서가 포함된 내장 웹 UI(web UI)를 제공합니다.
maigret --web 5000
http://127.0.0.1:5000을 열고, 사용자 이름(username)을 입력하여 결과를 확인하세요.
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
# 다른 모델을 선택하세요
...
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)
...
명령어를 실행하기 전에 Tor / I2P 데몬(Daemon)을 먼저 시작하세요. Maigret는 이러한 게이트웨이를 직접 관리하지 않습니다.
실험적 기능입니다. Cloudflare 웹게이트(webgate)는 현재 활발히 개발 중입니다. 구성 스키마(Configuration schema), CLI 동작 및 라우팅되는 사이트 집합은 하위 호환성(Backwards-compatibility) 보장 없이 변경될 수 있습니다.
데이터베이스 내 사이트 중 일부는 JavaScript 챌린지(Challenge)를 해결하기 위해 실제 브라우저가 필요합니다. Maigret는 이러한 검사를 로컬 FlareSolverr 인스턴스로 오프로드(Offload)할 수 있습니다.
docker run -d -p 8191:8191 --name flaresolverr ghcr.io/flaresolverr/flaresolverr:latest
maigret --cloudflare-bypass <username>
우회 기능은 선택 사항이며(--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) — 를 원하시면 다음으로 연락해 주세요: 📧 maigret@soxoj.com
- 프라이빗 사이트 데이터베이스 (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)
MIT © Maigret
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기