apurvsinghgautam/robin
AI-Powered Dark Web OSINT Tool
Robin – AI‑Powered Dark‑Web OSINT Tool
What it is – Robin is a Python/Streamlit application that helps investigators search the dark web and turn the raw results into a concise, AI‑generated summary. It talks to large language models (OpenAI, Claude, Gemini, Mistral, Ollama, etc.) to:
- Refine the user’s query.
- Query dark‑web search engines through Tor.
- Filter and scrape the returned pages.
- Produce a short investigation report and allow follow‑up questions without re‑running the search.
Key features
- Multi‑model support – any OpenAI‑compatible API (including local models via Ollama or llama.cpp) can be used.
- Web UI – a Streamlit front‑end that runs on
http://localhost:8501. - MCP integration – the tool can be launched as an MCP server so other LLM‑agents (Claude, Codex, Hermes, OpenClaw, etc.) can call it directly.
- Conversational follow‑ups – ask new questions about the same investigation; Robin answers from the already‑scraped data.
- One‑click pivots – suggested new queries appear based on the current findings.
- Docker ready – official Docker image (
apurvsg/robin) with a simple run command; investigations are persisted in a volume. - Safety checks – scraped text is sanitized (control, zero‑width, bidi characters stripped) before being sent to the LLM.
How to get it running
- Install Tor (
apt install tor,brew install tor, etc.) and make sure the Tor daemon is running. - Provide an LLM API key – put
OPENAI_API_KEY,ANTHROPIC_API_KEY,GOOGLE_API_KEY,MISTRAL_API_KEYorOPENROUTER_API_KEYin a.envfile (copy from.env.example). - Run the Docker image (recommended):
docker pull apurvsg/robin:latest docker run --rm \ -v "$(pwd)/.env:/app/.env" \ --add-host=host.docker.internal:host-gateway \ -p 8501:8501 \ apurvsg/robin:latest- Mount a named volume (
robin-investigations:/app/investigations) or a local folder to keep reports across restarts.
- Mount a named volume (
- Open a browser at http://localhost:8501 and start a new investigation.
Using Robin as an MCP server
- Add a server entry to the MCP configuration of your LLM‑agent (Claude, Codex, Hermes, etc.) that runs the same Docker command with the
mcpsub‑command. Example for Claude:{ "mcpServers": { "robin": { "command": "docker", "args": ["run", "-i", "--rm", "-v", "robin-investigations:/app/investigations", "apurvsg/robin", "mcp"], "timeout": 600000 } } } - The agent can then invoke Robin’s tools directly from a chat, receiving the same investigation data.
Typical use‑cases
- Law‑enforcement or corporate security teams needing a quick, AI‑assisted overview of dark‑web mentions of a brand, credential leak, or illicit product.
- Researchers performing academic OSINT studies on hidden‑service activity.
- Incident‑response analysts who want to ask follow‑up questions on already‑collected evidence without re‑searching.
Limitations & cautions
- Legal risk – accessing certain dark‑web content may be illegal in many jurisdictions; the tool is for educational and lawful investigations only.
- Tor dependency – searches only work while the Tor daemon is running and reachable.
- Model cost & privacy – every query is sent to the chosen LLM provider; sensitive data may be exposed to third‑party APIs.
- Speed – a Tor search can take several minutes; MCP hosts may need to raise their timeout settings.
Disclaimer – The author disclaims responsibility for misuse. Users must ensure compliance with local laws and the terms of service of any LLM API they employ.
Acknowledgements – Inspired by Thomas Roccia’s “Perplexity of the Dark Web”, the author’s own dark‑web OSINT tools repo, and the OSINT‑Assistant prompt library.
Related
- Project
- Project
- Project
- Project
- Project