The Curious Case of WhiteRabbitNeo: What It Is, What It Isn't, and What You Should Know
What Is WhiteRabbitNeo (WRN)?
- Is it an LLM frontend? A cyber detective dashboard? A rabbit with Wi-Fi? (All three?)
WhiteRabbitNeo (or WRN if you’re into cyberpunk acronyms) is a natural language-driven OSINT assistant designed for recon, enumeration, and digital footprint analysis — minus the command-line headache. Imagine ChatGPT, but it reads nmap
output for fun and has a side hustle in metadata exposure.
At its core, WRN aims to answer your recon questions using plain English. It takes high-level prompts like:
“Find emails associated with example.com and check for leaks.”
Well, not exactly. You can ask it how to find emails associated with example.com and then how you can “check for leaks” Then WRN suggests how to approach it using tools like theHarvester
, amass
, and subfinder
.
Important note:
WRN does not run tools for you. It offers detailed guidance, code snippets, and command suggestions — but you execute them yourself.
Think of WRN like this:
- A translator between humans and InfoSec tools
- A workflow shortcut for experienced operators
- A training wheel system for beginners who don’t want to nuke their home lab
- An experiment in merging prompt-based interfaces with tactical reconnaissance
- A proof-of-concept for language-driven OSINT workflows
Official site: whiterabbitneo.com ↗
WhiteRabbitNeo is a slick AI-driven OSINT and recon assistant. It’s either a security analyst’s co-pilot, or a very sophisticated rabbit with a Wi-Fi antenna.
Core Capabilities
- Natural language query interface for recon
- Suggests commands for tools like
theHarvester
,amass
,subfinder
- Supports chained workflows via prompts
- Explains OSINT results in markdown, JSON, or plaintext
- Can be self-hosted and extended
Further use case
Although WRN cannot explicitly run tools for you, it can write scripts, and suggest commands, tool list, and more. Here’s a WRN-style prompt + pseudocode:
Example: To use the returned URLs and chain them to a vulnerability scanner, you can modify the script to pass the URLs to a vulnerability scanner tool or script. Here's an example of how you could modify the script:
# Import required libraries
import requests
from bs4 import BeautifulSoup
from queue import Queue
from threading import Thread
from urllib.parse import urlparse
# Function to process and normalize URLs
def process_url(url):
parsed_url = urlparse(url)
domain = parsed_url.netloc
if domain.startswith('www.'):
domain = domain[4:]
subdomain = domain.split('.')[0] if '.' in domain else ''
return subdomain + '.' + domain + parsed_url.path
# Main crawling function
def crawl_website(url_queue, results):
while not url_queue.empty():
url = url_queue.get()
try:
response = requests.get(url)
if response.status_code in [200, 300, 400]:
soup = BeautifulSoup(response.text, 'html.parser')
links = soup.find_all('a')
for link in links:
href = link.get('href')
if href and href.startswith('http'):
processed_url = process_url(href)
url_queue.put(processed_url)
results[response.status_code].append(process_url(url))
except requests.exceptions.RequestException as e:
print(f'Error processing URL: {url}, Error: {str(e)}')
finally:
url_queue.task_done()
# Process and save results
def process_results(results):
for status_code, urls in results.items():
with open(f'target-{status_code}.txt', 'w') as file:
file.write('\n'.join(urls))
# Scan URLs with vulnerability scanner
def scan_urls(urls):
import subprocess
for url in urls:
subprocess.run(['python', 'vulnerability_scanner.py', url])
# Main execution
target_domain = 'example.com'
start_url = f'https://{target_domain}'
url_queue = Queue()
url_queue.put(start_url)
results = {200: [], 300: [], 400: []}
# Create multiple threads to crawl the website concurrently
num_threads = 10
threads = []
for _ in range(num_threads):
thread = Thread(target=crawl_website, args=(url_queue, results))
thread.start()
threads.append(thread)
# Wait for all threads to finish
for thread in threads:
thread.join()
# Process the results
process_results(results)
# Scan the URLs
for status_code, urls in results.items():
scan_urls(urls)
Web Interface vs. Self-Hosting
Web Interface (official site)
- ✅ Zero setup, works instantly
- ✅ Great for experimentation
- ❌ Shared instance — don’t expect privacy look, if you go to any opensource project, especially one of this nature, you are best to just be legit. I mean unless you want random suits at your doorstep
- ❌ No persistent sessions or saved configs… sort of. If you log in with GH or HF, you can create multiple chats and instances, but there isn’t cross instance context or memory as of yet, or at least not to my knowledge based on my use and research.
Response direct from WRN:
The memory context is specific to each instance of the application and is not shared between different instances or tabs. This means that data, variables, and objects created or modified in one tab or instance will not be accessible to another tab or instance unless explicitly passed or shared between them.
For example, if you create a variable in one tab and then switch to another tab, the variable you created in the first tab will not be accessible in the second tab. Similarly, if you modify a variable in one tab, the modification will not be reflected in the other tabs unless you explicitly save or share the modified data.
Self-Hosted (via HuggingFace)
- ✅ Private, modifiable, local
- ✅ Discoverable, downloadable directly through LM Studio
- ✅ Add your own tools or enhance pipelines
- ❌ Requires Docker or local Python setup, if you really want to open it up, and compile it all yourself
- ❌ Not for you if
chmod
gives you trauma, again, you can just run it in LMS if you are a nervous kitty, it works great honestly. I recommend the 13B q4 from HuggingFace. Feel free to run a bigger badder model if your local machine allows it, or a smaller model if not.
Strengths
- Abstracts away tool syntax
- Lets you test recon logic using plain English
- Smooth UI/UX (for a hacker thing)
- Fast for planning or prototyping OSINT flows
- Great for educational use
Weaknesses & Gotchas
- It doesn’t validate your scope — you are responsible
- Doesn’t execute tools directly
- May hallucinate tool output if misunderstood
- Needs manual API key setup for most integrations
- Self-hosting can be technical
Ethics and Caution
WRN doesn’t care who you are — or who you’re scanning. It’s up to you to operate it ethically and legally.
Never use it against targets you don’t have explicit permission to test.
Don’t worry, it will incessantly remind you that:
Remember to always use tools responsibly and ethically, and to avoid any unlawful or malicious activities that may result in legal consequences.
Best Use Cases
- Pre-engagement OSINT for red teaming or bounty (with permission)
- Teaching workflows to students or junior analysts
- Lightweight scans on your own infrastructure
- Sanity-checking surface exposure of your project/startup
Final Thoughts
WRN won’t replace your recon stack — but it’ll help you wield it smarter.
It’s a tool for thinking through problems, not just automating them away.
If you like learning by tinkering (and you do, or you wouldn’t be here), give it a whirl.
Resources
-
Official Site: https://www.whiterabbitneo.com ↗
-
Huggingface: https://huggingface.co/WhiteRabbitNeo ↗
-
Related Tools:
Some of my own scripts:
Want help running WRN responsibly or self-hosting it?
Shoot me a message: zero@zerodumb.dev
Talent is not what makes you dangerous.
Intent is.
Stay sharp. Stay grounded. Stay curious. Stay loud.