A local reconnaissance dashboard for digital footprint analysis. Unlike standard username checkers, OS-Recon combines passive social scanning with active deep-profile extraction - spawning isolated stealth browser instances using nodriver to bypass anti scraping walls and pull raw metadata that static scanners can't reach.
Built around three engines: a fast async social scanner, a stealth browser orchestration layer (nodriver), and a GitHub intelligence module that audits repositories, parses commit history, and extracts developer metadata automatically.
Results are split into prioritized risks and general logs - designed with structured data output in mind for downstream analysis.
!! Early MVP: expect bugs and unfinished modules.
Input one or more usernames and OS-Recon's async scanner probes dozens of platforms concurrently. Found profiles are flagged and queued - ready for deep extraction. If a platform blocks you, it's flagged as blocked for the user to manually check.
Select your targets and launch the nodriver drones. Isolated stealth Chrome instances bypass anti-scraping walls and pull raw metadata, bios, outbound links, and platform-specific variables that static scanners can't reach. Collects the data for more advanced Analytics.
All harvested data is put through analytics. You can get basic statistics and if set up, an AI summary that gets the key points from the data.
- DeepPry UI: Track target accounts in a clean dashboard. Includes auto fallback protocols to load media across different domains without CORS blocking.
- Stealth Browser: Uses nodriver to spin up concurrent, isolated headless Chrome instances to not get blocked by cloudflare or other firewalls.
- Profile Scraping: Pulls bios, links, and dynamic page variables from targets.
- FastAPI Backend: Async backend using httpx and curl_cffi to grab registry metrics concurrently.
- Analytics Tab (OPTIONAL API): Toggle between raw data and AI analysis. Keeps tab state so you don't lose your place when switching views.
- LLM Threat Analysis:
Sends raw scraped dumps to Groq (
llama-3.1-8b-instant) to strip out the important info from the messy data gathered. - GitHub Scanner: Hits the GitHub API to scan repos, extract metadata, and dig up hidden emails from commit histories.
Check out issues, the future features are mapped there.
OS-RECON/
├── backend/ # The backend server folder, handles scraping & processing.
│ ├── engines/ # Scrapers and parsers depending on input type.
│ │ ├── payloads/ # Javascript payloads used for the pry_engine.
│ │ │ └── payload_store.py
│ │ ├── git_engine.py # GitHub repository analysis & commit fetching.
│ │ ├── pry_engine.py # Stealth browser automation engine via nodriver.
│ │ └── social_engine.py # Asynchronous username check registry & probe logic.
│ └── main.py # FastAPI application server.
└── frontend/ # React TS + Vite frontend UI.
Disclaimer: This tool is developed strictly for educational, security auditing, and authorized open-source intelligence research. The developer assumes no liability for misuse or violations of third-party terms of service.
Requirements (links below in prerequisites section):
- Python 3.10+ (preferably 3.14, or the newest availalable version)
- All libraries in
requirements.txt - Node.js 18+.
- Chrome (for the stealth browser module)
Non developers who want to try this out: OS-Recon runs locally and requires a few tools to set up. There's no hosted or deployed version yet, this is early development. You'll need to run it through a terminal or an IDE like VS Code. Follow the steps below carefully and it should work out of the box.
Prerequisites:
- Python - newest version
- Node.js
- Google Chrome (required for the stealth browser module)
- Git (to clone the repo)
Clone the repo:
git clone https://github.com/ic0e/OS-Recon.git
cd OS-ReconThen follow the Backend and Frontend steps below.
The AI summary tab requires a Groq API token. If you choose not to use the AI analysis engine, the application will function fully without it. If you want a fast way to summarize the data and get basic conclusions/connections, it's recommended to get an API token.
- Head to the Groq Console.
- Generate a new API key under the API Keys management dashboard.
- Create a .env file in the root directory and append your key:
GROQ_API_KEY=gsk_your_token_hereTo start the project you need to run the Backend and the Frontend through the root folder.
cd backend
pip install -r requirements.txt
# or if you have uv: uv sync
cd ..
npm installnpm startBackend
cd backend
pip install -r requirements.txt
python -m uvicorn main:appFrontend
cd frontend
npm install
npm run devFrontend runs on http://localhost:5173, backend on http://localhost:8000.
See CONTRIBUTING.md for guidelines on how to help.
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.