by ARCANGEL0
EVA is an AI-assisted penetration testing agent that enhances offensive security workflows by providing structured attack guidance, contextual analysis, and multi-backend AI integration.
# Add to your Claude Code skills
git clone https://github.com/ARCANGEL0/EVANo comments yet. Be the first to share your thoughts!
EVA is an AI penetration testing agent that guides users through complete pentest engagements with AI-powered attack strategy, autonomous command generation, and real-time vulnerability analysis based on outputs. The goal is not to replace the pentest professional but to guide and assist and provide faster results.
graph TD
A[๐ EVA Launch] --> B{๐ขง Session Selection}
B -->|Existing Session| C[๐ขง Load Session Data]
B -->|New Session| D[฿ญ Initialize Session]
C --> E[ใ Select AI Backend]
D --> E
E --> F[๐ฆ Ollama Local]
E --> G[โฌก OpenAI GPT]
E --> J1[โถ Anthropic Claude]
E --> J2[โฆ Google Gemini]
E --> H[โ
Custom API]
E --> I[๐
G4F.dev Provider]
F --> J[Pentest Shell]
G --> J
J1 --> J
J2 --> J
H --> J
I --> J
J --> K[โ Target Definition]
K --> L[๐ง AI Pentest Strategy]
L --> M[๐ฏ Reconnaissance Phase]
M --> N[โค_ Execute Commands]
N --> O[๊ Analyze Results]
O --> P{แ Vulnerabilities Found?}
P -->|Yes| Q[๐ง Exploitation Planning]
P -->|No| R[โญฏ More Enumeration]
R --> L
Q --> S[โก Exploitation Phase]
Q --> T[Export graphs and mapped networks]
S --> U[โค_ Execute Exploit]
U --> V{๐ Access Gained?}
V -->|Yes| W[๐ฑ Privilege Escalation]
V -->|Failed| X[โญฏ Alternative Methods]
X --> Q
W --> Y[๐ฆ Post-Exploitation]
Y --> Z{๐ Objectives Met?}
Z -->|Generate Report| AA[๐ Generate Report]
Z -->|Exit and Save| AB[๐พ Save & Exit]
Z -->|No| AC[๐ Continue Pentest]
AC --> L
AA --> AB
subgraph "๐ EVA "
AD[โฏ Attack Strategy AI]
AE[๐ต Session Memory]
AF[แฎ Vulnerability Analysis]
AG[CVE DATABASE SEARCH]
AH[๐ฐฌ Output Processing]
end
L --> AD
AD --> AE
O --> AF
AF --> AG
AG --> AH
AH --> L
curl -fsSL https://ollama.ai/install.sh | shr
pip install eva-exploit
eva
git clone https://github.com/ARCANGEL0/EVA.git
cd EVA
chmod +x eva.py
./eva.py
# Adding it to PATH to be acessible anywhere
sudo mv eva.py /usr/local/bin/eva
When starting EVA, it will automatically handle:
If you wish to modify endpoints, ollama models, API Keys or configure EVA, please run:
eva --config
~/EVA_data/
โโโ sessions/ # Session storage
โ โโโ session1.json
โ โโโ session2.json
โ โโโ ...
โโโ reports/ # Vulnerability reports
โ โโโ report1.html
โ โโโ report1.pdf
โ โโโ ...
โโโ attack_maps/ # Attack vector maps in HTML/JS
โโโ attack_surface1.html
โโโ attack_surface2.html
โโโ ...
eva --config
Will display the following configuration:
API_ENDPOINT = "NOT_SET"
G4F_MODEL="gpt-oss-120b"
G4F_URL="https://api.gpt4free.workers.dev/api/novaai/chat/completions"
OLLAMA_MODEL = "ALIENTELLIGENCE/whiterabbitv2"
SEARCHVULN_MODEL = "gpt-oss:120b-cloud"
SEARCVULN_URL = "https://ollama.com/api/chat"
OLLAMA_API_KEY = "NOT_SET"
OPENAI_API_KEY = "NOT_SET"
ANTHROPIC_API_KEY = "NOT_SET"
GEMINI_API_KEY = "NOT_SET"
ANTHROPIC_MODEL = "claude-3-5-sonnet-latest"
GEMINI_MODEL = "gemini-2.0-flash"
OLLAMA_CLOUD_TIMEOUT = 45
CONFIG_DIR = Path.home() / "EVA_data" #
SESSIONS_DIR = CONFIG_DIR / "sessions"
REPORTS_DIR = CONFIG_DIR / "reports"
MAPS_DIR = CONFIG_DIR / "attack_maps"
TERMS_ACCEPTEDTHING = CONFIG_DIR / ".confirm"
CONFIG_DIR.mkdir(parents=True, exist_ok=True)
SESSIONS_DIR.mkdir(parents=True, exist_ok=True)
REPORTS_DIR.mkdir(parents=True, exist_ok=True)
MAPS_DIR.mkdir(parents=True, exist_ok=True)
username = os.getlogin()
MAX_RETRIES = 10 ### maximum retries for fetching requests
RETRY_DELAY = 10 ### delay between requests to avoid rate limit error
python3 eva.py
# or if installed via pip:
eva
# open config.py in your default editor
eva --config
# deletes all sessions and files
eva --delete
# configure custom api and payload handler
eva --custom-api
# vulnerability / exploit intel search
eva --search i have a wingftp server running on version 4.7.3, find me exploits for it
# run eva default launcher
eva
USER > i need help with a CTF machine, ip is 10.10.16.81
| Command | Description |
|---------|-------------|
| /exit / /quit | Exit EVA and save session |
| /model | Change AI backend |
| /rename | Rename the current session |
| /search <query> or search <query> | Run exploit/vulnerability intel search inside current chat session and feed results into next analysis |
| /report | Generates a PDF/HTML report with latest findings on session |
| /map | Generates a html file with attack surface map of session |
| /menu | Return to session menu |
| R | Run suggested command |
| S | Skip command |
| A | Ask for next step |
| Q | Quit session |
demonstration video.

USER > I'm on a Windows target at IP 10.10.11.95, what should I enumerate first?
[ANALYSIS]
Based on the Windows environment, I need to perform comprehensive
enumeration focusing on:
1. System Information (OS version, patches, architecture)
2. Network Services (ports, services, listening processes)
3. User Context (current user, groups, privileges)
4. Security Controls (AV, firewall, UAC settings)
5. Potential Attack Vectors (SMB, RDP, IIS, etc.)
Let me start with basic system reconnaissance to understand the target better...
> execute: nmap -sC -sV -O 10.10.10.10
| [R]un | [S]kip | [A]sk | [G]enerate HTML Report | [V]iew attack map | [Q]uit |
> R
ALIENTELLIGENCE/whiterabbitv2" (best one for OffSec)