
Recon-Scan: AIを活用したセキュリティ分析を備えた、オープンソースの受動的偵察ツール。ゼロタッチ、開発者ファースト、プライバシー重視。
ReconScanは、FastAPIバックエンド、非同期ワーカーパイプライン、シングルページフロントエンドを備えたオープンソースのパッシブ偵察スキャナーです。デプロイされたサイトは https://recon-scan.vercel.app/ で確認できます。
狙いは迅速なシグナルです。スキャンを実行し、モジュールごとの検出結果を取得し、洗練されたPDFレポートとしてエクスポート可能なAIサマリーを取得できます。
すぐに動かしたい場合:
./start.sh
これが行うこと:
.env が存在しない場合、.env.example から作成します。.venv を作成します。requirements.txt から依存関係をインストールします。http://localhost:8000 でホットリロード付きのFastAPIを起動します。USE_ARQ_QUEUE=false を強制します。Ctrl+C で停止します。
./start-docker.sh
これが行うこと:
.env が存在しない場合、.env.example から作成します。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 (デフォルト: false)OPENROUTER_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY (オプション)VIRUSTOTAL_API_KEY, GOOGLE_SAFE_BROWSING_API_KEY (オプション)コントリビューションを歓迎します。特にパッシブ偵察モジュール、レポート、フロントエンドUX、テストカバレッジに関するものを歓迎します。
プルリクエストを開く前に、完全なコントリビューションガイドラインをお読みください:
MIT。LICENSE を参照してください。