pentesting 0.14.1 → 0.16.2

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.
@@ -1,832 +0,0 @@
1
- // src/config/agent-constants.ts
2
- var AGENT_STATUS = {
3
- IDLE: "idle",
4
- RUNNING: "running",
5
- PAUSED: "paused",
6
- STUCK: "stuck",
7
- WAITING_INPUT: "waiting_input",
8
- COMPLETED: "completed",
9
- STOPPED: "stopped"
10
- };
11
- var PHASE_ID = {
12
- RECON: "recon",
13
- SCAN: "scan",
14
- ENUM: "enum",
15
- VULN: "vuln",
16
- EXPLOIT: "exploit",
17
- PRIVESC: "privesc",
18
- PIVOT: "pivot",
19
- PERSIST: "persist",
20
- EXFIL: "exfil",
21
- REPORT: "report"
22
- };
23
- var PHASE_STATUS = {
24
- PENDING: "pending",
25
- IN_PROGRESS: "in_progress",
26
- COMPLETED: "completed",
27
- FAILED: "failed",
28
- SKIPPED: "skipped"
29
- };
30
- var THOUGHT_TYPE = {
31
- THINKING: "thinking",
32
- // LLM text streaming
33
- REASONING: "reasoning",
34
- // LLM extended thinking
35
- PLANNING: "planning",
36
- // Strategic planning
37
- OBSERVATION: "observation",
38
- // Observing results
39
- HYPOTHESIS: "hypothesis",
40
- // Forming hypothesis
41
- REFLECTION: "reflection",
42
- // Self-reflection
43
- ACTION: "action",
44
- // Taking action
45
- RESULT: "result",
46
- // Action result
47
- STUCK: "stuck",
48
- // Detected stuck state
49
- BREAKTHROUGH: "breakthrough"
50
- // Found breakthrough
51
- };
52
- var AGENT_EVENT = {
53
- // Lifecycle
54
- PLUGINS_LOADED: "plugins_loaded",
55
- HOOKS_LOADED: "hooks_loaded",
56
- COMMANDS_LOADED: "commands_loaded",
57
- MCP_SERVER_ADDED: "mcp_server_added",
58
- // Execution
59
- ITERATION: "iteration",
60
- THOUGHT: "thought",
61
- RESPONSE: "response",
62
- TOOL_CALL: "tool_call",
63
- TOOL_RESULT: "tool_result",
64
- COMMAND_EXECUTE: "command_execute",
65
- APPROVAL_NEEDED: "approval_needed",
66
- TOKEN_USAGE: "token_usage",
67
- LLM_START: "llm_start",
68
- LLM_END: "llm_end",
69
- // State changes
70
- TARGET_SET: "target_set",
71
- PHASE_CHANGE: "phase_change",
72
- AGENT_SWITCH: "agent_switch",
73
- PAUSED: "paused",
74
- RESUMED: "resumed",
75
- RESET: "reset",
76
- STATUS_CHANGED: "status_changed",
77
- // Discoveries
78
- FINDING: "finding",
79
- CREDENTIAL: "credential",
80
- COMPROMISED: "compromised",
81
- // Completion
82
- COMPLETE: "complete",
83
- REPORT: "report",
84
- ERROR: "error",
85
- HINT_RECEIVED: "hint_received",
86
- CONTEXT_COMPACTED: "context_compacted"
87
- };
88
- var CLI_COMMAND = {
89
- HELP: "help",
90
- TARGET: "target",
91
- START: "start",
92
- STOP: "stop",
93
- FINDINGS: "findings",
94
- CLEAR: "clear",
95
- EXIT: "exit"
96
- };
97
- var MESSAGE_TYPE = {
98
- USER: "user",
99
- ASSISTANT: "assistant",
100
- TOOL: "tool",
101
- THINKING: "thinking",
102
- ERROR: "error",
103
- SYSTEM: "system",
104
- RESULT: "result"
105
- };
106
- var DEFAULTS = {
107
- MAX_ITERATIONS: 200,
108
- MAX_TOOL_CALLS_PER_ITERATION: 10,
109
- DEFAULT_TIMEOUT: 6e4,
110
- LONG_RUNNING_TIMEOUT: 6e5,
111
- STUCK_THRESHOLD: 5,
112
- STUCK_TIME_THRESHOLD: 3e5,
113
- MAX_PHASE_ATTEMPTS: 20,
114
- APPROVAL_TIMEOUT: 3e5
115
- // 5 minutes
116
- };
117
- var TOOL_NAME = {
118
- // System
119
- BASH: "bash",
120
- READ_FILE: "read_file",
121
- WRITE_FILE: "write_file",
122
- LIST_DIRECTORY: "list_directory",
123
- SET_TARGET: "set_target",
124
- // Network - Basic Connectivity
125
- PING: "ping",
126
- TRACEROUTE: "traceroute",
127
- MTR: "mtr",
128
- RUSTSCAN: "rustscan",
129
- NMAP_SCAN: "nmap_scan",
130
- MASSCAN: "masscan",
131
- TCPDUMP_CAPTURE: "tcpdump_capture",
132
- TSHARK: "tshark",
133
- NGREP: "ngrep",
134
- ARP_SCAN: "arp_scan",
135
- NETCAT: "netcat",
136
- SOCAT: "socat",
137
- // DNS & Subdomain
138
- DIG: "dig",
139
- HOST: "host",
140
- NSLOOKUP: "nslookup",
141
- WHOIS: "whois",
142
- SUBFINDER: "subfinder",
143
- AMASS: "amass",
144
- DNSENUM: "dnsenum",
145
- DNSRECON: "dnsrecon",
146
- DNSMAP: "dnsmap",
147
- ZONE_TRANSFER: "zone_transfer",
148
- // Service Enumeration
149
- SNMP_WALK: "snmp_walk",
150
- SNMP_CHECK: "snmp_check",
151
- ONESIXTYONE: "onesixtyone",
152
- FTP_ENUM: "ftp_enum",
153
- FTP_ANON: "ftp_anon",
154
- NBTSCAN: "nbtscan",
155
- RPC_INFO: "rpc_info",
156
- SHOWMOUNT: "showmount",
157
- TELNET: "telnet",
158
- // Web Recon & Tech Identification
159
- WHATWEB: "whatweb",
160
- HTTPX: "httpx",
161
- NUCLEI: "nuclei",
162
- NIKTO: "nikto",
163
- FFUF: "ffuf",
164
- GOBUSTER: "gobuster",
165
- DIRB: "dirb",
166
- FEROXBUSTER: "feroxbuster",
167
- WAYBACKURLS: "waybackurls",
168
- WAFW00F: "wafw00f",
169
- GOWITNESS: "gowitness",
170
- // Windows/SMB/AD
171
- SMB_ENUM: "smb_enum",
172
- SMBMAP: "smbmap",
173
- ENUM4LINUX: "enum4linux",
174
- CRACKMAPEXEC: "crackmapexec",
175
- SMBCLIENT: "smbclient",
176
- RPCCLIENT: "rpcclient",
177
- WINRM: "winrm",
178
- RDP_CHECK: "rdp_check",
179
- LDAP_SEARCH: "ldap_search",
180
- KERBRUTE: "kerbrute",
181
- BLOODHOUND: "bloodhound",
182
- // Database Clients
183
- MSSQL_CLIENT: "mssql_client",
184
- MYSQL_CLIENT: "mysql_client",
185
- PSQL_CLIENT: "psql_client",
186
- REDIS_CLI: "redis_cli",
187
- MONGO_CLIENT: "mongo_client",
188
- // Web
189
- WEB_REQUEST: "web_request",
190
- DIRECTORY_BRUTEFORCE: "directory_bruteforce",
191
- SQL_INJECTION: "sql_injection",
192
- BROWSER_AUTOMATION: "browser_automation",
193
- // Exploit
194
- SEARCHSPLOIT: "searchsploit",
195
- METASPLOIT: "metasploit",
196
- GENERATE_PAYLOAD: "generate_payload",
197
- // Credential
198
- BRUTEFORCE_LOGIN: "bruteforce_login",
199
- CRACK_HASH: "crack_hash",
200
- JOHN: "john",
201
- HASHCAT: "hashcat",
202
- HASHID: "hashid",
203
- DUMP_CREDENTIALS: "dump_credentials",
204
- HYDRA: "hydra",
205
- MEDUSA: "medusa",
206
- // Privilege Escalation
207
- CHECK_SUDO: "check_sudo",
208
- FIND_SUID: "find_suid",
209
- RUN_PRIVESC_ENUM: "run_privesc_enum",
210
- // Post-Exploitation & Tunneling
211
- SSH: "ssh",
212
- SSH_KEYGEN: "ssh_keygen",
213
- SETUP_TUNNEL: "setup_tunnel",
214
- CHISEL: "chisel",
215
- PROXYCHAINS: "proxychains",
216
- LATERAL_MOVEMENT: "lateral_movement",
217
- REVERSE_SHELL: "reverse_shell",
218
- // Listener & Payload Delivery
219
- NC_LISTENER: "nc_listener",
220
- PYTHON_HTTP_SERVER: "python_http_server",
221
- MSFVENOM: "msfvenom",
222
- RLWRAP: "rlwrap",
223
- PWNCAT: "pwncat",
224
- // Forensics
225
- BINWALK: "binwalk",
226
- FOREMOST: "foremost",
227
- STEGHIDE: "steghide",
228
- EXIFTOOL: "exiftool",
229
- // Reversing
230
- GDB: "gdb",
231
- RADARE2: "radare2",
232
- // Impacket Tools
233
- IMPACKET_SECRETSDUMP: "impacket_secretsdump",
234
- IMPACKET_PSEXEC: "impacket_psexec",
235
- IMPACKET_WMIEXEC: "impacket_wmiexec",
236
- IMPACKET_SMBEXEC: "impacket_smbexec",
237
- IMPACKET_ATEXEC: "impacket_atexec",
238
- IMPACKET_DCOMEXEC: "impacket_dcomexec",
239
- IMPACKET_GETNPUSERS: "impacket_getnpusers",
240
- IMPACKET_GETUSERSPNS: "impacket_getuserspns",
241
- // Reporting
242
- REPORT_FINDING: "report_finding",
243
- TAKE_SCREENSHOT: "take_screenshot",
244
- // Research & Writeups
245
- SEARCH_WRITEUPS: "search_writeups",
246
- SEARCH_MACHINE: "search_machine",
247
- SEARCH_BY_SCENARIO: "search_by_scenario",
248
- SEARCH_AD_WRITEUPS: "search_ad_writeups",
249
- SEARCH_LINUX_PRIVESC: "search_linux_privesc",
250
- SEARCH_WINDOWS_PRIVESC: "search_windows_privesc",
251
- CTF_RESEARCH: "ctf_research",
252
- SECURITY_RESEARCH: "security_research",
253
- // Advanced Web Tools
254
- XSSTRIKE: "xsstrike",
255
- ARJUN: "arjun",
256
- PARAMSPIDER: "paramspider",
257
- COMMIX: "commix",
258
- WPSCAN: "wpscan",
259
- JOOMSCAN: "joomscan",
260
- DROOPESCAN: "droopescan",
261
- DALFOX: "dalfox",
262
- SSRFMAP: "ssrfmap",
263
- NOSQLMAP: "nosqlmap",
264
- JWT_TOOL: "jwt_tool",
265
- GITDUMPER: "gitdumper",
266
- // Advanced Network & AD Tools
267
- RESPONDER: "responder",
268
- LIGOLO: "ligolo",
269
- EVIL_WINRM: "evil_winrm",
270
- NETEXEC: "netexec",
271
- CERTIPY: "certipy",
272
- RUBEUS: "rubeus",
273
- MIMIKATZ: "mimikatz",
274
- COVENANT: "covenant",
275
- PYPYKATZ: "pypykatz",
276
- LDEEP: "ldeep",
277
- ADIDNSDUMP: "adidnsdump",
278
- PETITPOTAM: "petitpotam",
279
- PRINTERBUG: "printerbug",
280
- // Advanced Exploitation
281
- PWNTOOLS: "pwntools",
282
- ROPPER: "ropper",
283
- CHECKSEC: "checksec",
284
- ONE_GADGET: "one_gadget",
285
- ANGR: "angr",
286
- GHIDRA: "ghidra",
287
- // Deep Research
288
- SEARCH_CVE: "search_cve",
289
- SEARCH_EXPLOIT_DB: "search_exploit_db",
290
- DEEP_SEARCH: "deep_search",
291
- FETCH_URL: "fetch_url",
292
- // Advanced Web Exploitation (SSTI, Prototype Pollution, GraphQL, SSRF)
293
- TPLMAP: "tplmap",
294
- // SSTI exploitation
295
- GRAPHQLMAP: "graphqlmap",
296
- // GraphQL introspection & exploitation
297
- CORS_SCANNER: "cors_scanner",
298
- // CORS misconfiguration
299
- CRLFUZZ: "crlfuzz",
300
- // CRLF injection
301
- SMUGGLER: "smuggler",
302
- // HTTP request smuggling
303
- YSOSERIAL: "ysoserial",
304
- // Java deserialization
305
- // Cloud & Container
306
- CLOUDFOX: "cloudfox",
307
- // AWS/Azure/GCP enumeration
308
- PACU: "pacu",
309
- // AWS exploitation framework
310
- SCOUT_SUITE: "scout_suite",
311
- // Multi-cloud security audit
312
- TRIVY: "trivy",
313
- // Container vulnerability scanner
314
- KUBECTL: "kubectl",
315
- // Kubernetes exploitation
316
- DOCKER_ESCAPE: "docker_escape",
317
- // Docker breakout tools
318
- // Zero-Day Research & Fuzzing
319
- AFL_FUZZ: "afl_fuzz",
320
- // American Fuzzy Lop
321
- BOOFUZZ: "boofuzz",
322
- // Network protocol fuzzing
323
- SYZKALLER: "syzkaller",
324
- // Kernel fuzzing
325
- // Recursive Web Search
326
- RECURSIVE_SEARCH: "recursive_search",
327
- // Deep recursive URL crawling
328
- WAYBACK_MACHINE: "wayback_machine",
329
- // Wayback Machine deep dive
330
- UNIFIED_SEARCH: "unified_search",
331
- // Multi-engine unified search
332
- ZERO_DAY_RESEARCH: "zero_day_research",
333
- // Multi-source 0day/PoC research
334
- // Mobile & API Testing
335
- FRIDA: "frida",
336
- // Dynamic instrumentation
337
- OBJECTION: "objection",
338
- // Runtime mobile exploration
339
- APKTOOL: "apktool",
340
- // Android APK reverse engineering
341
- MITMPROXY: "mitmproxy",
342
- // TLS interception proxy
343
- POSTMAN: "postman",
344
- // API endpoint testing
345
- // Wireless & Network MITM
346
- AIRCRACK_NG: "aircrack_ng",
347
- // Wireless cracking suite
348
- REAVER: "reaver",
349
- // WPS brute force
350
- BETTERCAP: "bettercap",
351
- // Network attack & monitoring
352
- WIFITE: "wifite",
353
- // Automated wireless attack
354
- // Active Directory — Advanced
355
- COERCER: "coercer",
356
- // Authentication coercion (PetitPotam/PrinterBug unified)
357
- NTLMRELAYX: "ntlmrelayx",
358
- // NTLM relay attacks
359
- KRBRELAYX: "krbrelayx",
360
- // Kerberos relay attacks
361
- NOPAC: "nopac",
362
- // SAM-Account-Name spoofing (CVE-2021-42278/42287)
363
- ZEROLOGON: "zerologon",
364
- // ZeroLogon exploit (CVE-2020-1472)
365
- // Social Engineering & Phishing
366
- GOPHISH: "gophish",
367
- // Phishing framework
368
- EVILGINX: "evilginx",
369
- // Adversary-in-the-middle phishing
370
- // Advanced Code Analysis & Research
371
- CODEQL: "codeql",
372
- // Semantic code analysis for vulns
373
- SEMGREP: "semgrep",
374
- // Static analysis pattern matching
375
- RET2DLRESOLVE: "ret2dlresolve",
376
- // Return-oriented exploitation
377
- KERNEL_EXPLOIT: "kernel_exploit",
378
- // Kernel exploitation toolkit
379
- // Continuous Persistent Search
380
- CONTINUOUS_SEARCH: "continuous_search",
381
- // Persistent background research
382
- EXPLOIT_CHAIN_RESEARCH: "exploit_chain_research"
383
- // Multi-stage exploit chain discovery
384
- };
385
- var APT_PACKAGE = {
386
- // Network
387
- NMAP: "nmap",
388
- RUSTSCAN: "rustscan",
389
- MASSCAN: "masscan",
390
- TCPDUMP: "tcpdump",
391
- TSHARK: "tshark",
392
- NGREP: "ngrep",
393
- ARP_SCAN: "arp-scan",
394
- SOCAT: "socat",
395
- NETCAT: "netcat-traditional",
396
- IPUTILS_PING: "iputils-ping",
397
- TRACEROUTE: "traceroute",
398
- MTR: "mtr-tiny",
399
- // DNS
400
- DNSUTILS: "dnsutils",
401
- WHOIS: "whois",
402
- SUBFINDER: "subfinder",
403
- AMASS: "amass",
404
- DNSENUM: "dnsenum",
405
- DNSRECON: "dnsrecon",
406
- // Service Enum
407
- SNMP: "snmp",
408
- ONESIXTYONE: "onesixtyone",
409
- NBTSCAN: "nbtscan",
410
- RPCBIND: "rpcbind",
411
- NFS_COMMON: "nfs-common",
412
- TELNET: "telnet",
413
- // Web
414
- FFUF: "ffuf",
415
- GOBUSTER: "gobuster",
416
- DIRB: "dirb",
417
- FEROXBUSTER: "feroxbuster",
418
- WHATWEB: "whatweb",
419
- HTTPX: "httpx-toolkit",
420
- NUCLEI: "nuclei",
421
- NIKTO: "nikto",
422
- WAFW00F: "wafw00f",
423
- SQLMAP: "sqlmap",
424
- // Windows/SMB/AD
425
- SMBCLIENT: "smbclient",
426
- SMBMAP: "smbmap",
427
- ENUM4LINUX: "enum4linux",
428
- CRACKMAPEXEC: "crackmapexec",
429
- EVIL_WINRM: "evil-winrm",
430
- LDAP_UTILS: "ldap-utils",
431
- KERBRUTE: "kerbrute",
432
- BLOODHOUND: "bloodhound",
433
- // Database
434
- IMPACKET_SCRIPTS: "impacket-scripts",
435
- MYSQL_CLIENT: "default-mysql-client",
436
- POSTGRESQL_CLIENT: "postgresql-client",
437
- REDIS_TOOLS: "redis-tools",
438
- MONGODB_CLIENTS: "mongodb-clients",
439
- // Credential
440
- HYDRA: "hydra",
441
- MEDUSA: "medusa",
442
- JOHN: "john",
443
- HASHCAT: "hashcat",
444
- HASHID: "hashid",
445
- // Exploit
446
- EXPLOITDB: "exploitdb",
447
- METASPLOIT_FRAMEWORK: "metasploit-framework",
448
- // Post-Exploitation
449
- OPENSSH_CLIENT: "openssh-client",
450
- CHISEL: "chisel",
451
- PROXYCHAINS4: "proxychains4",
452
- RLWRAP: "rlwrap",
453
- PWNCAT: "pwncat",
454
- // Forensics
455
- BINWALK: "binwalk",
456
- FOREMOST: "foremost",
457
- STEGHIDE: "steghide",
458
- EXIFTOOL: "libimage-exiftool-perl",
459
- // Reversing
460
- GDB: "gdb",
461
- RADARE2: "radare2"
462
- };
463
- var TOOL_TO_APT = {
464
- // System (no apt package needed)
465
- [TOOL_NAME.BASH]: null,
466
- [TOOL_NAME.READ_FILE]: null,
467
- [TOOL_NAME.WRITE_FILE]: null,
468
- [TOOL_NAME.LIST_DIRECTORY]: null,
469
- [TOOL_NAME.SET_TARGET]: null,
470
- // Network - Basic Connectivity
471
- [TOOL_NAME.PING]: APT_PACKAGE.IPUTILS_PING,
472
- [TOOL_NAME.TRACEROUTE]: APT_PACKAGE.TRACEROUTE,
473
- [TOOL_NAME.MTR]: APT_PACKAGE.MTR,
474
- [TOOL_NAME.RUSTSCAN]: APT_PACKAGE.RUSTSCAN,
475
- [TOOL_NAME.NMAP_SCAN]: APT_PACKAGE.NMAP,
476
- [TOOL_NAME.MASSCAN]: APT_PACKAGE.MASSCAN,
477
- [TOOL_NAME.TCPDUMP_CAPTURE]: APT_PACKAGE.TCPDUMP,
478
- [TOOL_NAME.TSHARK]: APT_PACKAGE.TSHARK,
479
- [TOOL_NAME.NGREP]: APT_PACKAGE.NGREP,
480
- [TOOL_NAME.ARP_SCAN]: APT_PACKAGE.ARP_SCAN,
481
- [TOOL_NAME.NETCAT]: APT_PACKAGE.NETCAT,
482
- [TOOL_NAME.SOCAT]: APT_PACKAGE.SOCAT,
483
- // DNS & Subdomain
484
- [TOOL_NAME.DIG]: APT_PACKAGE.DNSUTILS,
485
- [TOOL_NAME.HOST]: APT_PACKAGE.DNSUTILS,
486
- [TOOL_NAME.NSLOOKUP]: APT_PACKAGE.DNSUTILS,
487
- [TOOL_NAME.WHOIS]: APT_PACKAGE.WHOIS,
488
- [TOOL_NAME.SUBFINDER]: APT_PACKAGE.SUBFINDER,
489
- [TOOL_NAME.AMASS]: APT_PACKAGE.AMASS,
490
- [TOOL_NAME.DNSENUM]: APT_PACKAGE.DNSENUM,
491
- [TOOL_NAME.DNSRECON]: APT_PACKAGE.DNSRECON,
492
- [TOOL_NAME.DNSMAP]: APT_PACKAGE.DNSRECON,
493
- [TOOL_NAME.ZONE_TRANSFER]: APT_PACKAGE.DNSUTILS,
494
- // Service Enumeration
495
- [TOOL_NAME.SNMP_WALK]: APT_PACKAGE.SNMP,
496
- [TOOL_NAME.SNMP_CHECK]: APT_PACKAGE.SNMP,
497
- [TOOL_NAME.ONESIXTYONE]: APT_PACKAGE.ONESIXTYONE,
498
- [TOOL_NAME.FTP_ENUM]: null,
499
- [TOOL_NAME.FTP_ANON]: null,
500
- [TOOL_NAME.NBTSCAN]: APT_PACKAGE.NBTSCAN,
501
- [TOOL_NAME.RPC_INFO]: APT_PACKAGE.RPCBIND,
502
- [TOOL_NAME.SHOWMOUNT]: APT_PACKAGE.NFS_COMMON,
503
- [TOOL_NAME.TELNET]: APT_PACKAGE.TELNET,
504
- // Web Recon & Tech Identification
505
- [TOOL_NAME.WHATWEB]: APT_PACKAGE.WHATWEB,
506
- [TOOL_NAME.HTTPX]: APT_PACKAGE.HTTPX,
507
- [TOOL_NAME.NUCLEI]: APT_PACKAGE.NUCLEI,
508
- [TOOL_NAME.NIKTO]: APT_PACKAGE.NIKTO,
509
- [TOOL_NAME.FFUF]: APT_PACKAGE.FFUF,
510
- [TOOL_NAME.GOBUSTER]: APT_PACKAGE.GOBUSTER,
511
- [TOOL_NAME.DIRB]: APT_PACKAGE.DIRB,
512
- [TOOL_NAME.FEROXBUSTER]: APT_PACKAGE.FEROXBUSTER,
513
- [TOOL_NAME.WAYBACKURLS]: null,
514
- [TOOL_NAME.WAFW00F]: APT_PACKAGE.WAFW00F,
515
- [TOOL_NAME.GOWITNESS]: null,
516
- // Windows/SMB/AD
517
- [TOOL_NAME.SMB_ENUM]: APT_PACKAGE.SMBCLIENT,
518
- [TOOL_NAME.SMBMAP]: APT_PACKAGE.SMBMAP,
519
- [TOOL_NAME.ENUM4LINUX]: APT_PACKAGE.ENUM4LINUX,
520
- [TOOL_NAME.CRACKMAPEXEC]: APT_PACKAGE.CRACKMAPEXEC,
521
- [TOOL_NAME.SMBCLIENT]: APT_PACKAGE.SMBCLIENT,
522
- [TOOL_NAME.RPCCLIENT]: APT_PACKAGE.SMBCLIENT,
523
- [TOOL_NAME.WINRM]: APT_PACKAGE.EVIL_WINRM,
524
- [TOOL_NAME.RDP_CHECK]: null,
525
- [TOOL_NAME.LDAP_SEARCH]: APT_PACKAGE.LDAP_UTILS,
526
- [TOOL_NAME.KERBRUTE]: APT_PACKAGE.KERBRUTE,
527
- [TOOL_NAME.BLOODHOUND]: APT_PACKAGE.BLOODHOUND,
528
- // Database Clients
529
- [TOOL_NAME.MSSQL_CLIENT]: APT_PACKAGE.IMPACKET_SCRIPTS,
530
- [TOOL_NAME.MYSQL_CLIENT]: APT_PACKAGE.MYSQL_CLIENT,
531
- [TOOL_NAME.PSQL_CLIENT]: APT_PACKAGE.POSTGRESQL_CLIENT,
532
- [TOOL_NAME.REDIS_CLI]: APT_PACKAGE.REDIS_TOOLS,
533
- [TOOL_NAME.MONGO_CLIENT]: APT_PACKAGE.MONGODB_CLIENTS,
534
- // Web Attack
535
- [TOOL_NAME.WEB_REQUEST]: null,
536
- [TOOL_NAME.DIRECTORY_BRUTEFORCE]: APT_PACKAGE.GOBUSTER,
537
- [TOOL_NAME.SQL_INJECTION]: APT_PACKAGE.SQLMAP,
538
- [TOOL_NAME.BROWSER_AUTOMATION]: null,
539
- // Exploit
540
- [TOOL_NAME.SEARCHSPLOIT]: APT_PACKAGE.EXPLOITDB,
541
- [TOOL_NAME.METASPLOIT]: APT_PACKAGE.METASPLOIT_FRAMEWORK,
542
- [TOOL_NAME.GENERATE_PAYLOAD]: APT_PACKAGE.METASPLOIT_FRAMEWORK,
543
- // Credential
544
- [TOOL_NAME.BRUTEFORCE_LOGIN]: APT_PACKAGE.HYDRA,
545
- [TOOL_NAME.CRACK_HASH]: APT_PACKAGE.JOHN,
546
- [TOOL_NAME.JOHN]: APT_PACKAGE.JOHN,
547
- [TOOL_NAME.HASHCAT]: APT_PACKAGE.HASHCAT,
548
- [TOOL_NAME.HASHID]: APT_PACKAGE.HASHID,
549
- [TOOL_NAME.DUMP_CREDENTIALS]: APT_PACKAGE.IMPACKET_SCRIPTS,
550
- [TOOL_NAME.HYDRA]: APT_PACKAGE.HYDRA,
551
- [TOOL_NAME.MEDUSA]: APT_PACKAGE.MEDUSA,
552
- // Privilege Escalation
553
- [TOOL_NAME.CHECK_SUDO]: null,
554
- [TOOL_NAME.FIND_SUID]: null,
555
- [TOOL_NAME.RUN_PRIVESC_ENUM]: null,
556
- // Post-Exploitation & Tunneling
557
- [TOOL_NAME.SSH]: APT_PACKAGE.OPENSSH_CLIENT,
558
- [TOOL_NAME.SSH_KEYGEN]: APT_PACKAGE.OPENSSH_CLIENT,
559
- [TOOL_NAME.SETUP_TUNNEL]: APT_PACKAGE.CHISEL,
560
- [TOOL_NAME.CHISEL]: APT_PACKAGE.CHISEL,
561
- [TOOL_NAME.PROXYCHAINS]: APT_PACKAGE.PROXYCHAINS4,
562
- [TOOL_NAME.LATERAL_MOVEMENT]: APT_PACKAGE.IMPACKET_SCRIPTS,
563
- [TOOL_NAME.REVERSE_SHELL]: APT_PACKAGE.NETCAT,
564
- // Listener & Payload Delivery
565
- [TOOL_NAME.NC_LISTENER]: APT_PACKAGE.NETCAT,
566
- [TOOL_NAME.PYTHON_HTTP_SERVER]: null,
567
- [TOOL_NAME.MSFVENOM]: APT_PACKAGE.METASPLOIT_FRAMEWORK,
568
- [TOOL_NAME.RLWRAP]: APT_PACKAGE.RLWRAP,
569
- [TOOL_NAME.PWNCAT]: APT_PACKAGE.PWNCAT,
570
- // Impacket Tools
571
- [TOOL_NAME.IMPACKET_SECRETSDUMP]: APT_PACKAGE.IMPACKET_SCRIPTS,
572
- [TOOL_NAME.IMPACKET_PSEXEC]: APT_PACKAGE.IMPACKET_SCRIPTS,
573
- [TOOL_NAME.IMPACKET_WMIEXEC]: APT_PACKAGE.IMPACKET_SCRIPTS,
574
- [TOOL_NAME.IMPACKET_SMBEXEC]: APT_PACKAGE.IMPACKET_SCRIPTS,
575
- [TOOL_NAME.IMPACKET_ATEXEC]: APT_PACKAGE.IMPACKET_SCRIPTS,
576
- [TOOL_NAME.IMPACKET_DCOMEXEC]: APT_PACKAGE.IMPACKET_SCRIPTS,
577
- [TOOL_NAME.IMPACKET_GETNPUSERS]: APT_PACKAGE.IMPACKET_SCRIPTS,
578
- [TOOL_NAME.IMPACKET_GETUSERSPNS]: APT_PACKAGE.IMPACKET_SCRIPTS,
579
- // Forensics
580
- [TOOL_NAME.BINWALK]: APT_PACKAGE.BINWALK,
581
- [TOOL_NAME.FOREMOST]: APT_PACKAGE.FOREMOST,
582
- [TOOL_NAME.STEGHIDE]: APT_PACKAGE.STEGHIDE,
583
- [TOOL_NAME.EXIFTOOL]: APT_PACKAGE.EXIFTOOL,
584
- // Reversing
585
- [TOOL_NAME.GDB]: APT_PACKAGE.GDB,
586
- [TOOL_NAME.RADARE2]: APT_PACKAGE.RADARE2,
587
- // Reporting (no apt package)
588
- [TOOL_NAME.REPORT_FINDING]: null,
589
- [TOOL_NAME.TAKE_SCREENSHOT]: null,
590
- // Research (no apt package)
591
- [TOOL_NAME.SEARCH_WRITEUPS]: null,
592
- [TOOL_NAME.SEARCH_MACHINE]: null,
593
- [TOOL_NAME.SEARCH_BY_SCENARIO]: null,
594
- [TOOL_NAME.SEARCH_AD_WRITEUPS]: null,
595
- [TOOL_NAME.SEARCH_LINUX_PRIVESC]: null,
596
- [TOOL_NAME.SEARCH_WINDOWS_PRIVESC]: null,
597
- [TOOL_NAME.CTF_RESEARCH]: null,
598
- [TOOL_NAME.SECURITY_RESEARCH]: null,
599
- // Advanced Web Tools (pip/go install)
600
- [TOOL_NAME.XSSTRIKE]: null,
601
- [TOOL_NAME.ARJUN]: null,
602
- [TOOL_NAME.PARAMSPIDER]: null,
603
- [TOOL_NAME.COMMIX]: null,
604
- [TOOL_NAME.WPSCAN]: null,
605
- [TOOL_NAME.JOOMSCAN]: null,
606
- [TOOL_NAME.DROOPESCAN]: null,
607
- [TOOL_NAME.DALFOX]: null,
608
- [TOOL_NAME.SSRFMAP]: null,
609
- [TOOL_NAME.NOSQLMAP]: null,
610
- [TOOL_NAME.JWT_TOOL]: null,
611
- [TOOL_NAME.GITDUMPER]: null,
612
- // Advanced Network & AD Tools
613
- [TOOL_NAME.RESPONDER]: null,
614
- [TOOL_NAME.LIGOLO]: null,
615
- [TOOL_NAME.EVIL_WINRM]: APT_PACKAGE.EVIL_WINRM,
616
- [TOOL_NAME.NETEXEC]: null,
617
- [TOOL_NAME.CERTIPY]: null,
618
- [TOOL_NAME.RUBEUS]: null,
619
- [TOOL_NAME.MIMIKATZ]: null,
620
- [TOOL_NAME.COVENANT]: null,
621
- [TOOL_NAME.PYPYKATZ]: null,
622
- [TOOL_NAME.LDEEP]: null,
623
- [TOOL_NAME.ADIDNSDUMP]: null,
624
- [TOOL_NAME.PETITPOTAM]: null,
625
- [TOOL_NAME.PRINTERBUG]: null,
626
- // Advanced Exploitation
627
- [TOOL_NAME.PWNTOOLS]: null,
628
- [TOOL_NAME.ROPPER]: null,
629
- [TOOL_NAME.CHECKSEC]: null,
630
- [TOOL_NAME.ONE_GADGET]: null,
631
- [TOOL_NAME.ANGR]: null,
632
- [TOOL_NAME.GHIDRA]: null,
633
- // Deep Research (no apt package)
634
- [TOOL_NAME.SEARCH_CVE]: null,
635
- [TOOL_NAME.SEARCH_EXPLOIT_DB]: null,
636
- [TOOL_NAME.DEEP_SEARCH]: null,
637
- [TOOL_NAME.FETCH_URL]: null,
638
- // Advanced Web Exploitation
639
- [TOOL_NAME.TPLMAP]: null,
640
- [TOOL_NAME.GRAPHQLMAP]: null,
641
- [TOOL_NAME.CORS_SCANNER]: null,
642
- [TOOL_NAME.CRLFUZZ]: null,
643
- [TOOL_NAME.SMUGGLER]: null,
644
- [TOOL_NAME.YSOSERIAL]: null,
645
- // Cloud & Container
646
- [TOOL_NAME.CLOUDFOX]: null,
647
- [TOOL_NAME.PACU]: null,
648
- [TOOL_NAME.SCOUT_SUITE]: null,
649
- [TOOL_NAME.TRIVY]: null,
650
- [TOOL_NAME.KUBECTL]: null,
651
- [TOOL_NAME.DOCKER_ESCAPE]: null,
652
- // Zero-Day Research & Fuzzing
653
- [TOOL_NAME.AFL_FUZZ]: null,
654
- [TOOL_NAME.BOOFUZZ]: null,
655
- [TOOL_NAME.SYZKALLER]: null,
656
- // Recursive Web Search
657
- [TOOL_NAME.RECURSIVE_SEARCH]: null,
658
- [TOOL_NAME.WAYBACK_MACHINE]: null,
659
- [TOOL_NAME.UNIFIED_SEARCH]: null,
660
- [TOOL_NAME.ZERO_DAY_RESEARCH]: null,
661
- // Mobile & API Testing
662
- [TOOL_NAME.FRIDA]: null,
663
- // pip install frida-tools
664
- [TOOL_NAME.OBJECTION]: null,
665
- // pip install objection
666
- [TOOL_NAME.APKTOOL]: null,
667
- // binary install
668
- [TOOL_NAME.MITMPROXY]: null,
669
- // pip install mitmproxy
670
- [TOOL_NAME.POSTMAN]: null,
671
- // binary install
672
- // Wireless & Network MITM
673
- [TOOL_NAME.AIRCRACK_NG]: "aircrack-ng",
674
- [TOOL_NAME.REAVER]: "reaver",
675
- [TOOL_NAME.BETTERCAP]: null,
676
- // go install
677
- [TOOL_NAME.WIFITE]: null,
678
- // pip install
679
- // Active Directory — Advanced
680
- [TOOL_NAME.COERCER]: null,
681
- // pip install
682
- [TOOL_NAME.NTLMRELAYX]: null,
683
- // impacket
684
- [TOOL_NAME.KRBRELAYX]: null,
685
- // pip install
686
- [TOOL_NAME.NOPAC]: null,
687
- // python script
688
- [TOOL_NAME.ZEROLOGON]: null,
689
- // python script
690
- // Social Engineering & Phishing
691
- [TOOL_NAME.GOPHISH]: null,
692
- // binary install
693
- [TOOL_NAME.EVILGINX]: null,
694
- // go install
695
- // Advanced Code Analysis & Research
696
- [TOOL_NAME.CODEQL]: null,
697
- // binary install
698
- [TOOL_NAME.SEMGREP]: null,
699
- // pip install
700
- [TOOL_NAME.RET2DLRESOLVE]: null,
701
- [TOOL_NAME.KERNEL_EXPLOIT]: null,
702
- // Continuous Persistent Search
703
- [TOOL_NAME.CONTINUOUS_SEARCH]: null,
704
- [TOOL_NAME.EXPLOIT_CHAIN_RESEARCH]: null
705
- };
706
- var SENSITIVE_TOOLS = [
707
- TOOL_NAME.WRITE_FILE,
708
- TOOL_NAME.BRUTEFORCE_LOGIN,
709
- TOOL_NAME.METASPLOIT,
710
- TOOL_NAME.SQL_INJECTION,
711
- TOOL_NAME.DUMP_CREDENTIALS,
712
- TOOL_NAME.GENERATE_PAYLOAD,
713
- TOOL_NAME.LATERAL_MOVEMENT
714
- ];
715
- var RESOURCE_THRESHOLD = {
716
- MEMORY_WARNING: 0.7,
717
- MEMORY_CRITICAL: 0.85,
718
- CONTEXT_TOKEN_LIMIT: 1e5,
719
- CHECK_INTERVAL_MS: 1e4
720
- };
721
- var AGENT_CONFIG = {
722
- // Core
723
- MAX_ITERATIONS: 200,
724
- MAX_TOOL_CALLS_PER_ITERATION: 10,
725
- DEFAULT_TIMEOUT: 6e4,
726
- LONG_RUNNING_TIMEOUT: 6e5,
727
- // Stuck Detection
728
- STUCK_THRESHOLD: 5,
729
- STUCK_TIME_THRESHOLD: 3e5,
730
- MAX_PHASE_ATTEMPTS: 20,
731
- // Context Management
732
- MAX_CONTEXT_TOKENS: 1e5,
733
- CONTEXT_COMPACTION_THRESHOLD: 0.8,
734
- // Resource Management
735
- MEMORY_WARNING_THRESHOLD: 0.7,
736
- MEMORY_CRITICAL_THRESHOLD: 0.85,
737
- RESOURCE_CHECK_INTERVAL: 1e4,
738
- // Approval
739
- APPROVAL_TIMEOUT: 6e4,
740
- // Audit
741
- AUDIT_MAX_ENTRIES: 1e3,
742
- AUDIT_RETENTION_DAYS: 7
743
- };
744
-
745
- // src/config/constants.ts
746
- import { homedir } from "os";
747
- import { join } from "path";
748
- var PENTEST_ROOT = join(homedir(), ".pentesting");
749
- var PATHS = {
750
- /** Root directory for all pentesting data: ~/.pentesting */
751
- ROOT: PENTEST_ROOT,
752
- /** Session snapshots and wire logs */
753
- SESSIONS: join(PENTEST_ROOT, "sessions"),
754
- /** Self-reflection learning data */
755
- LEARNING: join(PENTEST_ROOT, "learning"),
756
- /** Audit logs */
757
- AUDIT: join(PENTEST_ROOT, "audit"),
758
- /** User skill definitions (SKILL.md files) */
759
- SKILLS: join(PENTEST_ROOT, "skills"),
760
- /** Context checkpoints for undo/revert */
761
- CHECKPOINTS: join(PENTEST_ROOT, "checkpoints"),
762
- /** Config files (config.toml / config.json) */
763
- CONFIG_TOML: join(PENTEST_ROOT, "config.toml"),
764
- CONFIG_JSON: join(PENTEST_ROOT, "config.json"),
765
- /** Agent spec YAML files */
766
- AGENT_SPECS: join("src", "agents", "specs")
767
- };
768
- function getPath(base, ...segments) {
769
- return join(base, ...segments);
770
- }
771
- var APP_VERSION = "0.14.1";
772
- var APP_DESCRIPTION = "Autonomous Penetration Testing AI Agent";
773
- var LLM_API_KEY = process.env.PENTEST_API_KEY || process.env.ANTHROPIC_API_KEY || "";
774
- var LLM_BASE_URL = process.env.PENTEST_BASE_URL || void 0;
775
- var LLM_MODEL = process.env.PENTEST_MODEL || "claude-sonnet-4-20250514";
776
- var LLM_MAX_TOKENS = parseInt(process.env.PENTEST_MAX_TOKENS || "16384", 10);
777
- var CONTEXT_WINDOW = {
778
- maxTokens: 2e5,
779
- // Claude's context window size
780
- compactionThreshold: 15e4,
781
- // Trigger compaction at 75% usage
782
- reservedTokens: 4e3
783
- // Reserved for system prompt
784
- };
785
- var AGENT_CONFIG2 = {
786
- maxIterations: 200,
787
- maxToolCallsPerIteration: 10,
788
- autoApprove: false,
789
- sensitiveTools: SENSITIVE_TOOLS,
790
- defaultTimeout: 6e4,
791
- longRunningTimeout: 6e5,
792
- stuckThreshold: 5,
793
- stuckTimeThreshold: 3e5,
794
- maxPhaseAttempts: 20
795
- };
796
- var PENTEST_PHASES = [
797
- { id: PHASE_ID.RECON, name: "Reconnaissance", description: "Information gathering" },
798
- { id: PHASE_ID.SCAN, name: "Scanning", description: "Port and service scanning" },
799
- { id: PHASE_ID.ENUM, name: "Enumeration", description: "Deep service enumeration" },
800
- { id: PHASE_ID.VULN, name: "Vulnerability Analysis", description: "Vulnerability identification" },
801
- { id: PHASE_ID.EXPLOIT, name: "Exploitation", description: "Gaining access" },
802
- { id: PHASE_ID.PRIVESC, name: "Privilege Escalation", description: "Elevating privileges" },
803
- { id: PHASE_ID.PIVOT, name: "Pivoting", description: "Lateral movement" },
804
- { id: PHASE_ID.PERSIST, name: "Persistence", description: "Maintaining access" },
805
- { id: PHASE_ID.EXFIL, name: "Data Exfiltration", description: "Data extraction" },
806
- { id: PHASE_ID.REPORT, name: "Reporting", description: "Documentation" }
807
- ];
808
-
809
- export {
810
- AGENT_STATUS,
811
- PHASE_ID,
812
- PHASE_STATUS,
813
- THOUGHT_TYPE,
814
- AGENT_EVENT,
815
- CLI_COMMAND,
816
- MESSAGE_TYPE,
817
- DEFAULTS,
818
- TOOL_NAME,
819
- TOOL_TO_APT,
820
- RESOURCE_THRESHOLD,
821
- AGENT_CONFIG,
822
- PATHS,
823
- getPath,
824
- APP_VERSION,
825
- APP_DESCRIPTION,
826
- LLM_API_KEY,
827
- LLM_BASE_URL,
828
- LLM_MODEL,
829
- LLM_MAX_TOKENS,
830
- CONTEXT_WINDOW,
831
- AGENT_CONFIG2
832
- };