eva-exploit 2.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
config.py ADDED
@@ -0,0 +1,29 @@
1
+ import os
2
+ from pathlib import Path
3
+
4
+ # ================= CONFIG =================
5
+ APP_NAME = "EVA"
6
+ APP_VERSION = "2.5"
7
+ GITHUB_REPO = "arcangel0/EVA"
8
+ PYPI_PACKAGE = "eva-exploit"
9
+ API_ENDPOINT = "NOT_SET" # <--- change to your desired endpoint if needed
10
+ G4F_MODEL="gpt-oss-120b"
11
+ G4F_URL="https://api.gpt4free.workers.dev/api/novaai/chat/completions"
12
+ OLLAMA_MODEL = "ALIENTELLIGENCE/whiterabbitv2" # recommended ollama model
13
+ ANTHROPIC_MODEL = "claude-3-5-sonnet-latest"
14
+ GEMINI_MODEL = "gemini-2.0-flash"
15
+ CONFIG_DIR = Path.home() / "EVA_files" # Path to save EVA files
16
+ SESSIONS_DIR = CONFIG_DIR / "sessions"
17
+ REPORTS_DIR = CONFIG_DIR / "reports"
18
+ MAPS_DIR = CONFIG_DIR / "attack_maps"
19
+ AUTH_ACK_PATH = CONFIG_DIR / ".authorization_ack"
20
+ CONFIG_DIR.mkdir(parents=True, exist_ok=True)
21
+ SESSIONS_DIR.mkdir(parents=True, exist_ok=True)
22
+ REPORTS_DIR.mkdir(parents=True, exist_ok=True)
23
+ MAPS_DIR.mkdir(parents=True, exist_ok=True)
24
+ username = os.getlogin()
25
+ ENV_PATH = Path(".env")
26
+ MAX_RETRIES = 10 ### maximum retries for fetching requests
27
+ RETRY_DELAY = 10 ### delay between requests to avoid rate limit error
28
+
29
+ # All sessions will be stored on $HOME/.config/eva/sessions/*.json
eva.py ADDED
@@ -0,0 +1,166 @@
1
+ #!/usr/bin/env python3
2
+ # made by: _ ____ ____ _ _ _ ____ _____ _ ___
3
+ #▄████▄ █████▄ ▄█████ ▄████▄ ███ ██ ▄████ ██████ ██ ▄████▄
4
+ #██▄▄██ ██▄▄██▄ ██ ██▄▄██ ██ ▀▄██ ██ ▄▄▄ ██▄▄ ██ ██ ██
5
+ #██ ██ ██ ██ ▀█████ ██ ██ ██ ██ ▀███▀ ██▄▄▄▄ ██████ ▀████▀
6
+ # ---------------------------------------------------------------------
7
+ import json
8
+ import argparse
9
+ import subprocess
10
+ import sys
11
+ import time
12
+ import shutil
13
+ # ============ Check modules, and autoinstall if not present ============
14
+ try:
15
+ from colorama import Fore, Style
16
+ import openai
17
+ except ImportError:
18
+ subprocess.run([sys.executable, "-m", "pip", "install", "colorama", "--break-system-packages"])
19
+ subprocess.run([sys.executable, "-m", "pip", "install", "openai", "--break-system-packages"])
20
+ from colorama import Fore
21
+ import openai
22
+
23
+ from config import AUTH_ACK_PATH, OLLAMA_MODEL, SESSIONS_DIR, CONFIG_DIR
24
+ from sessions.eva_session import Eva
25
+ from utils.system import (
26
+ checkAnthropicKey,
27
+ checkAPI,
28
+ checkGeminiKey,
29
+ checkOpenAIKey,
30
+ checkupdts,
31
+ command_exists,
32
+ get_current_version,
33
+ model_exists,
34
+ ollama_running,
35
+ register_signal_handler,
36
+ run_self_update,
37
+ start_ollama,
38
+ )
39
+ from utils.ui import banner, clear, cyber, menu, get_sessions
40
+
41
+
42
+ def main():
43
+ banner(get_current_version())
44
+ if not AUTH_ACK_PATH.exists():
45
+ print(Fore.RED + """
46
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
47
+ ➤ THIS TOOL IS FOR:
48
+ - CTFs
49
+ - LABS
50
+ - SYSTEMS YOU OWN
51
+ 🜂 UNAUTHORIZED USE IS ILLEGAL
52
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
53
+ """)
54
+
55
+ if input("Do you have authorization to proceed with this tool? (yes/no): ").strip().lower() != "yes":
56
+ sys.exit()
57
+ AUTH_ACK_PATH.write_text("acknowledged\n", encoding="utf-8")
58
+
59
+ sessions = list(SESSIONS_DIR.glob("*.json"))
60
+ opts = [f"[{i+1}] {s.stem}" for i, s in enumerate(sessions)]
61
+ opts.append("[+] NEW SESSION")
62
+ opts.append("[!] EXIT EVA")
63
+
64
+ sel = get_sessions("EVA SESSIONS", opts,get_current_version())
65
+
66
+ # =========================
67
+ # GETS EXISTING SESSION
68
+ # =========================
69
+ if sel < len(sessions):
70
+ session = sessions[sel]
71
+ data = json.loads(session.read_text())
72
+ backend = data.get("backend", "ollama")
73
+
74
+ Eva(session, backend, main).chat()
75
+ return
76
+
77
+ if sel == len(sessions) + 1:
78
+ cyber("[+] Leaving EVA", color=Fore.RED)
79
+ time.sleep(1.2)
80
+ raise SystemExit(0)
81
+
82
+ # =========================
83
+ # NEW SESSION
84
+ # =========================
85
+ model = menu(
86
+ "SELECT BACKEND",
87
+ [
88
+ "< GO BACK",
89
+ "Use WhiteRabbit-Neo LLM locally (recommended)",
90
+ "GPT-5 (Needs OpenAI ApiKey)",
91
+ "G4F.dev (Free API endpoint with gpt-5.1)",
92
+ "Anthropic Claude (Needs Anthropic API key)",
93
+ "Google Gemini (Needs Gemini API key)",
94
+ "Use Custom API endpoint (Please check configs to set your own endpoint)"
95
+ ]
96
+ )
97
+
98
+ if model == 0:
99
+ return main()
100
+
101
+ if model == 1:
102
+ backend = "ollama"
103
+
104
+ if not command_exists("ollama"):
105
+ clear()
106
+ cyber("// Ollama is not installed. Install it first.", color=Fore.RED)
107
+ time.sleep(3)
108
+ return main()
109
+ if not ollama_running():
110
+ start_ollama()
111
+
112
+ if not model_exists():
113
+ clear()
114
+ pull = menu(f"Model {OLLAMA_MODEL} not found. Pull it?", ["Yes", "No"])
115
+ if pull == 0:
116
+ subprocess.run(["ollama", "pull", OLLAMA_MODEL])
117
+ else:
118
+ return main()
119
+
120
+ elif model == 2:
121
+ backend = "gpt"
122
+ checkOpenAIKey()
123
+ elif model == 3:
124
+ backend = "g4f"
125
+ elif model == 4:
126
+ backend = "anthropic"
127
+ checkAnthropicKey()
128
+ elif model == 5:
129
+ backend = "gemini"
130
+ checkGeminiKey()
131
+ elif model == 6:
132
+ backend = "api"
133
+ checkAPI()
134
+ else:
135
+ return main()
136
+
137
+ session = SESSIONS_DIR / f"session{len(sessions) + 1}.json"
138
+ Eva(session, backend, main).chat()
139
+
140
+
141
+ def cli():
142
+ parser = argparse.ArgumentParser(add_help=True)
143
+ parser.add_argument("-u", "--update", action="store_true", help="Update EVA")
144
+ parser.add_argument("-d", "--delete", action="store_true", help="Delete stored sessions & files")
145
+ args = parser.parse_args()
146
+
147
+ register_signal_handler()
148
+
149
+ if args.update:
150
+ raise SystemExit(run_self_update())
151
+ if args.delete:
152
+ if CONFIG_DIR.exists() and CONFIG_DIR.is_dir():
153
+ shutil.rmtree(CONFIG_DIR)
154
+ CONFIG_DIR.mkdir(parents=True, exist_ok=True)
155
+ print(f"\n{Style.BRIGHT + Fore.GREEN}[+] All EVA data deleted from {CONFIG_DIR}")
156
+ sys.exit(0)
157
+ else:
158
+ print(f"\n{Style.BRIGHT + Fore.YELLOW}[!] EVA_files directory does not exist")
159
+ sys.exit(0)
160
+
161
+ checkupdts()
162
+ main()
163
+
164
+
165
+ if __name__ == "__main__":
166
+ cli()
@@ -0,0 +1,410 @@
1
+ Metadata-Version: 2.4
2
+ Name: eva-exploit
3
+ Version: 2.5
4
+ Summary: Exploit Vector Agent
5
+ Author: ARCANGEL0
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: colorama>=0.4.6
10
+ Requires-Dist: openai>=1.0.0
11
+ Requires-Dist: requests>=2.31.0
12
+
13
+ ![EVA Banner](eva.jpeg)
14
+
15
+ <div align="center">
16
+
17
+ # ⫻ 𝝣.𝗩.𝝠
18
+ ## ⮡ Exploit Vector Agent
19
+ <br>
20
+
21
+ **Autonomous offensive security AI for guiding pentest processes**
22
+
23
+ [![Stars](https://img.shields.io/github/stars/ARCANGEL0/EVA?style=for-the-badge&color=353535)](https://github.com/ARCANGEL0/EVA)
24
+ [![Watchers](https://img.shields.io/github/watchers/ARCANGEL0/EVA?style=for-the-badge&color=353535)](https://github.com/ARCANGEL0/EVA)
25
+ [![Forks](https://img.shields.io/github/forks/ARCANGEL0/EVA?style=for-the-badge&color=353535)](https://github.com/ARCANGEL0/EVA/fork)
26
+ [![Repo Views](https://komarev.com/ghpvc/?username=eva&color=353535&style=for-the-badge&label=REPO%20VIEWS)](https://github.com/ARCANGEL0/EVA)
27
+
28
+ [![License](https://img.shields.io/badge/License-MIT-223355.svg?style=for-the-badge)](LICENSE)
29
+ [![Security](https://img.shields.io/badge/For-Offensive%20Security-8B0000.svg?style=for-the-badge)](#)
30
+ [![AI](https://img.shields.io/badge/AI-Powered-cyan.svg?style=for-the-badge)](#)
31
+
32
+ ![GitHub issues](https://img.shields.io/github/issues/ARCANGEL0/EVA?style=for-the-badge&color=3f3972)
33
+ ![GitHub pull requests](https://img.shields.io/github/issues-pr/ARCANGEL0/EVA?style=for-the-badge&color=3f3972)
34
+ ![GitHub contributors](https://img.shields.io/github/contributors/ARCANGEL0/EVA?style=for-the-badge&color=3f3972)
35
+ ![GitHub last commit](https://img.shields.io/github/last-commit/ARCANGEL0/EVA?style=for-the-badge&color=3f3972)
36
+
37
+ </div>
38
+
39
+ ---
40
+
41
+ ## 𝝺 Overview
42
+
43
+ **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.
44
+
45
+ ### Main funcionalities
46
+
47
+ - **🜂 Intelligent Reasoning**: Advanced AI-driven analysis and attack path identification depending on query.
48
+ - **ⵢ Automated Enumeration**: Systematic target reconnaissance and information gathering based on provided target.
49
+ - **ꎈ Vulnerability Assessment**: AI-powered vulnerability identification and exploitation strategies, suggesting next steps for vulnerability or OSINT.
50
+ - **⑇ Multiple AI Backends**: Support for Ollama, OpenAI GPT, Anthropic, Gemini, G4F.dev and custom API endpoints
51
+ - **ㄖ Session Management**: Persistent sessions and chats
52
+ - **⑅ Interactive Interface**: Real-time command execution and analysis of output in multi-stage.
53
+
54
+ ---
55
+
56
+
57
+ ## ⵢ EVA Logic & Pentest Process Flow
58
+
59
+ ```mermaid
60
+ graph TD
61
+
62
+ A[🜂 EVA Launch] --> B{🢧 Session Selection}
63
+ B -->|Existing Session| C[🢧 Load Session Data]
64
+ B -->|New Session| D[߭ Initialize Session]
65
+ C --> E[ㄖ Select AI Backend]
66
+ D --> E
67
+
68
+ E --> F[🦙 Ollama Local]
69
+ E --> G[⬡ OpenAI GPT]
70
+ E --> J1[✶ Anthropic Claude]
71
+ E --> J2[✦ Google Gemini]
72
+ E --> H[⟅ Custom API]
73
+ E --> I[🜅 G4F.dev Provider]
74
+
75
+ F --> J[Pentest Shell]
76
+ G --> J
77
+ J1 --> J
78
+ J2 --> J
79
+ H --> J
80
+ I --> J
81
+
82
+ J --> K[⌖ Target Definition]
83
+ K --> L[🧠 AI Pentest Strategy]
84
+
85
+ L --> M[🝯 Reconnaissance Phase]
86
+ M --> N[➤_ Execute Commands]
87
+ N --> O[ꎐ Analyze Results]
88
+ O --> P{ᐈ Vulnerabilities Found?}
89
+
90
+ P -->|Yes| Q[🖧 Exploitation Planning]
91
+ P -->|No| R[⭯ More Enumeration]
92
+ R --> L
93
+
94
+ Q --> S[⚡ Exploitation Phase]
95
+ Q --> T[Export graphs and mapped networks
96
+ - IN DEVELOPMENT -]
97
+
98
+ S --> U[➤_ Execute Exploit]
99
+ U --> V{🞜 Access Gained?}
100
+
101
+ V -->|Yes| W[𐱃 Privilege Escalation]
102
+ V -->|Failed| X[⭯ Alternative Methods]
103
+ X --> Q
104
+
105
+ W --> Y[𐦝 Post-Exploitation]
106
+ Y --> Z{🞜 Objectives Met?}
107
+
108
+ Z -->|Generate Report| AA[📋 Generate Report
109
+ - IN DEVELOPMENT -]
110
+ Z -->|Exit and Save| AB[💾 Save & Exit]
111
+ Z -->|No| AC[🔍 Continue Pentest]
112
+ AC --> L
113
+
114
+ AA --> AB
115
+
116
+ subgraph "🍎 EVA "
117
+ AD[⯐ Attack Strategy AI]
118
+ AE[𝚵 Session Memory]
119
+ AF[ᐮ Vulnerability Analysis]
120
+ AG[CVE DATABASE SEARCH
121
+ - IN DEVELOPMENT -]
122
+ AH[𐰬 Output Processing]
123
+ end
124
+
125
+ L --> AD
126
+ AD --> AE
127
+ O --> AF
128
+ AF --> AG
129
+ AG --> AH
130
+ AH --> L
131
+ ```
132
+
133
+ ---
134
+
135
+ <details>
136
+ <summary><h2>➤ Quick Start</h2></summary>
137
+
138
+ ### 🍎 Installation
139
+
140
+ ```bash
141
+ # Ollama for local endpoint (optional)
142
+ curl -fsSL https://ollama.ai/install.sh | shr
143
+
144
+ # pip installation
145
+ pip install eva-exploit
146
+ eva
147
+
148
+ # EVA installation
149
+ git clone https://github.com/ARCANGEL0/EVA.git
150
+ cd EVA
151
+ chmod +x eva.py
152
+ ./eva.py
153
+
154
+ # Adding it to PATH to be acessible anywhere
155
+ sudo mv eva.py /usr/local/bin/eva
156
+ ```
157
+
158
+ ### ⬢ Configuring EVA.
159
+
160
+ When starting EVA, it will automatically handle:
161
+ - ✅ OpenAI API key setup (if using GPT backend)
162
+ - ✅ Ollama model download (WhiteRabbit-Neo, feel free to change to any other desired model)
163
+ - ✅ Session directory creation
164
+ - ✅ Dependencies installation
165
+
166
+ <strong> If you wish to modify endpoints, ollama models or other: you can find these options in `config.py` </strong>
167
+
168
+ > EVA is now modular, with a root launcher and separate folders for logic/components.
169
+
170
+ ### 📁 Directory Structure of EVA
171
+
172
+ ```
173
+ ~/.config/eva/
174
+ ├── sessions/ # Session storage
175
+ │ ├── session1.json
176
+ │ ├── session2.json
177
+ │ └── ...
178
+ └── .env # API keys (auto-generated)
179
+ ```
180
+
181
+ ### ꀬ Where to change EVA options
182
+
183
+ ```python
184
+ # Key Configuration Options
185
+ API_ENDPOINT = "" # This is the custom API URL.
186
+ G4F_MODEL = "gpt-5-1-instant"
187
+ OLLAMA_MODEL = "jimscard/whiterabbit-neo:latest" # change ollama model as you wish, most recommended one is whiterabbit
188
+ ANTHROPIC_MODEL = "claude-3-5-sonnet-latest"
189
+ GEMINI_MODEL = "gemini-2.0-flash"
190
+ CONFIG_DIR = Path.home() / ".config" / "eva" # config folder for EVA
191
+ SESSIONS_DIR = CONFIG_DIR / "sessions" # where to store EVA sessions
192
+ REPORTS_DIR = CONFIG_DIR / "reports" # generated reports
193
+ MAPS_DIR = CONFIG_DIR / "attack_maps" # generated visual attack maps
194
+ ```
195
+
196
+ </details>
197
+
198
+ <details>
199
+ <summary><h2>🖴 Usage Guide</h2></summary>
200
+
201
+ ### Initialization
202
+
203
+ ```bash
204
+ python3 eva.py
205
+ # or if installed via pip:
206
+ eva
207
+ ```
208
+
209
+ 1. **Select Session**: Choose existing session or create new one
210
+ 2. **Choose AI Backend**:
211
+ - **Ollama** (Recommended): Local AI with WhiteRabbit-Neo model
212
+ - **GPT-5**: OpenAI's latest model (requires API key)
213
+ - **G4F**: Uses g4f.dev endpoints with model GPT 5-1, feel free to change model used.
214
+ - **Anthropic**: Claude API backend (requires API key)
215
+ - **Gemini**: Google Gemini API backend (requires API key)
216
+ - **Custom API**: Your own API endpoint if desired
217
+ 3. In the input field of chat, type in your request or what you need assistance with for EVA to help you!
218
+
219
+ > USER > i need help with a CTF machine, ip is 10.10.16.81
220
+
221
+ ### After making a request, commands will be provided and the pentest workflow will start, use commands below as reference.
222
+
223
+ | Command | Description |
224
+ |---------|-------------|
225
+ | `/exit` / `/quit` | Exit EVA and save session |
226
+ | `/model` | Change AI backend |
227
+ | `/rename` | Rename the current session |
228
+ | `/menu` | Return to session menu |
229
+ | `R` | Run suggested command |
230
+ | `S` | Skip command |
231
+ | `A` | Ask for next step |
232
+ | `Q` | Quit session |
233
+
234
+ ### ㄖ Example of chat session
235
+
236
+ > demonstration video.
237
+
238
+ ![Demo Usage](https://raw.githubusercontent.com/ARCANGEL0/EVA/refs/heads/main/demo.gif)
239
+
240
+
241
+ ```
242
+ USER > I'm on a Windows target at IP 10.10.11.95, what should I enumerate first?
243
+
244
+ [ANALYSIS]
245
+ Based on the Windows environment, I need to perform comprehensive
246
+ enumeration focusing on:
247
+
248
+ 1. System Information (OS version, patches, architecture)
249
+ 2. Network Services (ports, services, listening processes)
250
+ 3. User Context (current user, groups, privileges)
251
+ 4. Security Controls (AV, firewall, UAC settings)
252
+ 5. Potential Attack Vectors (SMB, RDP, IIS, etc.)
253
+
254
+ Let me start with basic system reconnaissance to understand the target better...
255
+
256
+ > execute: nmap -sC -sV -O 10.10.10.10
257
+ | [R]un | [S]kip | [A]sk | [G]enerate HTML Report | [V]iew attack map | [Q]uit |
258
+
259
+ > R
260
+ ```
261
+
262
+ </details>
263
+
264
+
265
+ <details>
266
+ <summary><h2>Ξ AI Backends</h2></summary>
267
+
268
+ ### 🦙 Ollama (Recommended)
269
+ - **Model**: `jimscard/whiterabbit-neo:latest` (best one for OffSec)
270
+ - ✅ Complete offline operation
271
+ - ✅ No API costs
272
+ - ✅ Privacy-focused
273
+ - ❌ Higher CPU/GPU usage, recommended for machines above 16GB VRAM/RAM
274
+ - ❌ Heavier model, ~9.8gb model
275
+
276
+ ### ⬡ OpenAI GPT
277
+ - **Models**: GPT-5, GPT-4.1 (fallback)
278
+ - **About**:
279
+ - ✅ Faster reasoning
280
+ - ✅ Extensive knowledge base
281
+ - ✅ Continuous updates
282
+ - ❌ Paid, requires apikey
283
+
284
+ ### ᛃ G4F.dev
285
+ - **Models**: GPT-5-1
286
+ - **About**:
287
+ - ✅ Updated information in real-time (usually)
288
+ - ✅ Quick responses
289
+ - ❌ Might be unstable or down sometimes, low stability.
290
+
291
+ ### ⟅ Custom API
292
+ - **Endpoint**: Configurable in `API_ENDPOINT` to use your own as you wish.
293
+ - **About**:
294
+ - ✅ Custom model integration
295
+ - ✅ Modifiable as you wish
296
+
297
+ #### More backends compability will be provided soon!
298
+
299
+ ### ✶ Anthropic
300
+ - **Model**: Configurable via `ANTHROPIC_MODEL`
301
+ - **About**:
302
+ - ✅ Strong reasoning quality
303
+ - ✅ Stable commercial API
304
+ - ❌ Requires `ANTHROPIC_API_KEY`
305
+
306
+ ### ✦ Gemini
307
+ - **Model**: Configurable via `GEMINI_MODEL`
308
+ - **About**:
309
+ - ✅ Fast response latency
310
+ - ✅ Native JSON output mode
311
+ - ❌ Requires `GEMINI_API_KEY`
312
+
313
+ </details>
314
+
315
+ <details>
316
+ <summary><h2>⑇ Roadmap</h2></summary>
317
+
318
+ - [x] **⬢ OpenAI integration**: Integrated OpenAI into EVA
319
+ - [x] **⬢ G4F.DEV**: Added G4F endpoints to free GPT5 usage.
320
+ - [x] **⬢ Custom API**: Add custom endpoint besides ollama and OpenAI
321
+ - [x] **⬡ Automated Reporting**: Concise HTML report generation (+ optional PDF via wkhtmltopdf)
322
+ - [ ] **⬡ Cloud Integration**: AWS/GCP deployment ready
323
+ - [ ] **⬡ CVE Database Integration**: Real-time vulnerability data
324
+ - [ ] **⬡ Web Interface**: Browser-based EVA dashboard
325
+ - [ ] **⬡ Visual Attack Maps**: Interactive network diagrams such as connections or such, like Kerberos domains and AD devices.
326
+
327
+ </details>
328
+
329
+
330
+ <details>
331
+ <summary><h2>⨹ Legal Notice</h2></summary>
332
+
333
+ ### 🚨 IMPORTANT
334
+
335
+ ### This tool is for allowed environment only!
336
+
337
+ #### ✅ APPROVED USE CASES
338
+ > CTF (Capture The Flag) competitions <br>
339
+ > Authorized penetration testing <br>
340
+ > Security research and laboratory environments <br>
341
+ > Systems you own or have explicit permission to test <br>
342
+
343
+ #### 🚫 PROHIBITED USE
344
+ > Unauthorized access to any system <br>
345
+ > Illegal or malicious activities <br>
346
+ > Production systems without explicit authorization <br>
347
+ > Networks you do not own or control
348
+
349
+ ### ⚠️ DISCLAIMER
350
+ ```
351
+ I take no responsibility for misuse, illegal activity, or unauthorized use.
352
+ Any and all consequences are the sole responsibility of the user.
353
+ ```
354
+
355
+ </details>
356
+
357
+
358
+ <details>
359
+ <summary><h2>⫻ License</h2></summary>
360
+
361
+ ### MIT License
362
+
363
+ ```
364
+ MIT License
365
+
366
+ Copyright (c) 2025 EVA - Exploit Vector Agent
367
+
368
+ Permission is hereby granted, free of charge, to any person obtaining a copy
369
+ of this software and associated documentation files (the "Software"), to deal
370
+ in the Software without restriction, including without limitation the rights
371
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
372
+ copies of the Software, and to permit persons to whom the Software is
373
+ furnished to do so, subject to the following conditions:
374
+
375
+ The above copyright notice and this permission notice shall be included in all
376
+ copies or substantial portions of the Software.
377
+
378
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
379
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
380
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
381
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
382
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
383
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
384
+ SOFTWARE.
385
+ ```
386
+
387
+ </details>
388
+
389
+ <div align="center">
390
+
391
+ ## ❤️ Support
392
+
393
+ ### if you enjoy the project and want to support future development:
394
+
395
+ [![Star on GitHub](https://img.shields.io/github/stars/ARCANGEL0/EVA?style=social)](https://github.com/ARCANGEL0/EVA)
396
+ [![Follow on GitHub](https://img.shields.io/github/followers/ARCANGEL0?style=social)](https://github.com/ARCANGEL0)
397
+ <br>
398
+
399
+ <a href='https://ko-fi.com/J3J7WTYV7' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi3.png?v=6' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
400
+ <br>
401
+ <strong>Hack the world. Byte by Byte.</strong> ⛛ <br>
402
+ 𝝺𝗿𝗰𝗮𝗻𝗴𝗲𝗹𝗼 @ 2025
403
+
404
+ **[[ꋧ]](#-𝝣𝗩𝝠)**
405
+
406
+ </div>
407
+
408
+ ---
409
+
410
+ *⚠️ Remember: With great power comes great responsibility. Use this tool ethically and legally.*
@@ -0,0 +1,17 @@
1
+ config.py,sha256=Bpfwaz2irKt3tdT8xaIW3-g88JTHe-Xm5zdDOyJU9HM,1159
2
+ eva.py,sha256=eXDlCopfF1CSqrVCAfkuicAY0AniIr51UzD2l3iG1Qg,5239
3
+ modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ modules/attack_map.py,sha256=TSD6o-93v-o544Zkpz3sS9tsyfzmcJprsZms71_YH18,18171
5
+ modules/llm.py,sha256=n3atwf_dHL_GW4duY0nsSCm99X1dfwS3_-IytKTDlFw,18481
6
+ modules/prompt_builder.py,sha256=HJhTiMsFSb9e0OoeCZLw7d6YVaXWQsW3PkDHxS3JS8g,2723
7
+ modules/reporting.py,sha256=um0TtbqP4ti7bSoBFkc3-1kePr2QZikYsoxVr1W4tkM,10111
8
+ sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ sessions/eva_session.py,sha256=-NFm9rPDwvbmmiXfRDoPKDohXyAeUTHav1iokr7O6LA,18380
10
+ utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ utils/system.py,sha256=J2TK90ghOPr3eOr07NM0uLg9z5Uj8qTTrCKufAjA_Lg,8346
12
+ utils/ui.py,sha256=GIq-7vyU4lpBDXP7sjcb5GWVbXurz9T6583u_RaUuVc,6604
13
+ eva_exploit-2.5.dist-info/METADATA,sha256=JxwtmNQkFDqFW8mkkF2lHnd6JnYEeIthqOxjrgemn9I,13082
14
+ eva_exploit-2.5.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
15
+ eva_exploit-2.5.dist-info/entry_points.txt,sha256=KbG3EuPivqt3C-ZmKutwk9UFrxq1oikVbx1BfKUoYLI,32
16
+ eva_exploit-2.5.dist-info/top_level.txt,sha256=w9aA661mKVq4Y_2T-qylLcYXlVMuYlmCLQMtFvqZzLw,34
17
+ eva_exploit-2.5.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ eva = eva:cli
@@ -0,0 +1,5 @@
1
+ config
2
+ eva
3
+ modules
4
+ sessions
5
+ utils
modules/__init__.py ADDED
File without changes