Robin is an AI-powered CLI-based tool for conducting dark web OSINT investigations. It leverages LLMs to refine queries, filter search results from dark web search engines, and provide an investigation summary.
Installation • Usage • Contributing • Acknowledgements- ⚙️ Modular Architecture – Clean separation between search, scrape, and LLM workflows.
- 🤖 Multi-Model Support – Easily switch between OpenAI, Claude, or local models like Ollama.
- 💻 CLI-First Design – Built for terminal warriors and automation ninjas.
- 🐳 Docker-Ready – Optional Docker deployment for clean, isolated usage.
- 📝 Custom Reporting – Save investigation output to file for reporting or further analysis.
- 🧩 Extensible – Easy to plug in new search engines, models, or output formats.
Note
The tool needs Tor to do the searches. You can install Tor using apt install tor
on Linux/Windows(WSL) or brew install tor
on Mac. Once installed, confirm if Tor is running in the background.
- Download the appropriate binary for your system from the latest release
- Unzip the file, make the binary executable with
chmod +x robin
, and run as
robin -m gpt4o -q "ransomware payments"
- With
Python 3.10+
installed, run the following:
pip install -r requirements.txt
python main.py -m gpt4o -q "ransomware payments" -t 12
Tip
You can provide OpenAI or Anthropic key by either creating .env file (refer to sample env file in the repo) or by setting env variables in PATH
- Build the Docker Image:
docker build -t robin .
- Run the Container:
mkdir -p output
docker run --rm \
-v "$(pwd)/.env:/app/.env" \
-v "$(pwd)/output:/app/output" \
robin --model gpt4o --query "dark web financial fraud" --output results
Robin: AI-Powered Dark Web OSINT Tool
options:
-h, --help show this help message and exit
--model {gpt4o,claude-3-5-sonnet-latest,llama3.1}, -m {gpt4o,claude-3-5-sonnet-latest,llama3.1}
Select LLM model (e.g., gpt4o, claude sonnet 3.5, ollama models)
--query QUERY, -q QUERY
Dark web search query
--threads THREADS, -t THREADS
Number of threads to use for scraping (Default: 5)
--output OUTPUT, -o OUTPUT
Filename to save the final intelligence summary. If not provided, a filename based on the
current date and time is used.
Example commands:
- robin -m gpt4o -q "ransomware payments" -t 12
- robin --model claude-3-5-sonnet-latest --query "sensitive credentials exposure" --threads 8 --output filename
- robin -m llama3.1 -q "zero days"
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add some amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
Open an Issue for any of these situations:
- If you spot a bug or bad code
- If you have questions or about doubts about usage
- Idea inspiration from Thomas Roccia and his demo of Perplexity of the Dark Web.
- Tools inspiration from my OSINT Tools for the Dark Web repository.
- LLM Prompt inspiration from OSINT-Assistant repository.