
Recon-Scan: open‑source passive reconnaissance with AI‑powered security analysis. Zero‑touch, developer‑first, and privacy‑focused.
ReconScan은 FastAPI 백엔드, 비동기 워커 파이프라인, 단일 페이지 프론트엔드를 갖춘 오픈소스 패시브 리콘 스캐너입니다. 배포된 사이트는 https://recon-scan.vercel.app/에서 확인할 수 있습니다.
핵심은 빠른 신호입니다. 스캔을 실행하고, 모듈별 결과를 얻고, AI 요약을 확인한 후 이를 정리된 PDF 보고서로 내보낼 수 있습니다.
빠르게 실행만 원한다면:
./start.sh
이 명령이 수행하는 작업:
.env.example이 없으면 .env 생성.venv 생성requirements.txt에서 의존성 설치http://localhost:8000에서 핫 리로드로 FastAPI 시작USE_ARQ_QUEUE=false 강제 설정Ctrl+C로 중단합니다.
./start-docker.sh
이 명령이 수행하는 작업:
.env.example이 없으면 .env 생성cp .env.example .env
docker compose up --build
pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
arq app.worker.WorkerSettings
http://localhost:8000
테스트 의존성 설치:
pip install -r requirements-dev.txt
전체 테스트 실행:
pytest -q
스캔 완료 후 UI에서 Download PDF를 클릭하세요.
백엔드 엔드포인트:
GET /scans/{scan_id}/report.pdf보고서 포함 내용:
GET /healthPOST /scans
{ "target": "example.com" }{ "target": "example.com", "byoapi_key": "...", "byoapi_provider": "your_provider" }byoapi_key는 ALLOW_BYO_API_KEY=true인 경우에만 허용user_id는 선택 사항이며 호환성을 위해 유지됨GET /scans/{scan_id}GET /scans/{scan_id}/report.pdf.env.example에서 가져옴:
DATABASE_URL (기본값: sqlite:///./reconscan.db)REDIS_URL (기본값: redis://localhost:6379)USE_ARQ_QUEUE (기본값: true)RATE_LIMIT_PER_MINUTE (기본값: 10)RATE_LIMIT_PER_DAY (기본값: 200)ALLOWED_HOSTS (기본값: localhost,127.0.0.1)CORS_ALLOWED_ORIGINS (기본값: 로컬 개발 오리진)ALLOW_BYO_API_KEY (기본값: )기여는 환영합니다. 특히 패시브 리콘 모듈, 보고, 프론트엔드 UX, 테스트 커버리지에 대한 기여를 환영합니다.
풀 리퀘스트를 열기 전에 전체 기여 가이드라인을 읽어주세요:
MIT. LICENSE 참조.
falseOPENROUTER_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY (선택 사항)VIRUSTOTAL_API_KEY, GOOGLE_SAFE_BROWSING_API_KEY (선택 사항)