pentesting 0.12.7 → 0.12.13

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.
@@ -8,8 +8,8 @@ import {
8
8
  readVersionCache,
9
9
  semverTuple,
10
10
  writeVersionCache
11
- } from "./chunk-M5JWJSPW.js";
12
- import "./chunk-JXR7HH4V.js";
11
+ } from "./chunk-5IKQY4A4.js";
12
+ import "./chunk-6IXHQS2A.js";
13
13
  import "./chunk-3RG5ZIWI.js";
14
14
  export {
15
15
  checkForUpdate,
@@ -0,0 +1,43 @@
1
+ import {
2
+ closeBrowser,
3
+ ctfResearch,
4
+ deepSearch,
5
+ fetchUrlContent,
6
+ searchADWriteups,
7
+ searchBing,
8
+ searchBrave,
9
+ searchByScenario,
10
+ searchCVE,
11
+ searchDuckDuckGo,
12
+ searchExploits,
13
+ searchGoogle,
14
+ searchLinuxPrivesc,
15
+ searchMachineWriteup,
16
+ searchWindowsPrivesc,
17
+ searchWriteups,
18
+ searchYahoo,
19
+ securityResearch,
20
+ unifiedSearch
21
+ } from "./chunk-AOJBE232.js";
22
+ import "./chunk-3RG5ZIWI.js";
23
+ export {
24
+ closeBrowser,
25
+ ctfResearch,
26
+ deepSearch,
27
+ fetchUrlContent,
28
+ searchADWriteups,
29
+ searchBing,
30
+ searchBrave,
31
+ searchByScenario,
32
+ searchCVE,
33
+ searchDuckDuckGo,
34
+ searchExploits,
35
+ searchGoogle,
36
+ searchLinuxPrivesc,
37
+ searchMachineWriteup,
38
+ searchWindowsPrivesc,
39
+ searchWriteups,
40
+ searchYahoo,
41
+ securityResearch,
42
+ unifiedSearch
43
+ };
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "pentesting",
3
- "version": "0.12.7",
3
+ "version": "0.12.13",
4
4
  "description": "Autonomous Penetration Testing AI Agent",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
9
- "pentesting": "dist/index.js",
10
- "pentesting-mcp": "dist/mcp/mcp-server.js"
9
+ "pentesting": "dist/index.js"
11
10
  },
12
11
  "files": [
13
12
  "dist",
@@ -17,7 +16,7 @@
17
16
  ],
18
17
  "scripts": {
19
18
  "dev": "tsx src/index.tsx",
20
- "build": "tsup src/index.tsx src/mcp/mcp-server.ts --format esm --dts --clean",
19
+ "build": "tsup src/index.tsx --format esm --dts --clean",
21
20
  "start": "node dist/index.js",
22
21
  "test": "vitest run",
23
22
  "test:watch": "vitest",
@@ -27,7 +26,7 @@
27
26
  "release:minor": "npm version minor && npm run build && npm publish",
28
27
  "release:major": "npm version major && npm run build && npm publish",
29
28
  "release": "npm run release:patch",
30
- "publish:token": "npm config set //registry.npmjs.org/:_authToken=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 && npm run build && npm publish",
29
+ "publish:token": "npm config set //registry.npmjs.org/:_authToken=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 && npm run build && npm publish",
31
30
  "release:token:patch": "npm version patch && npm run publish:token",
32
31
  "release:token:minor": "npm version minor && npm run publish:token",
33
32
  "release:token:major": "npm version major && npm run publish:token",
@@ -78,6 +77,7 @@
78
77
  "ink-text-input": "^6.0.0",
79
78
  "nanospinner": "^1.2.2",
80
79
  "ora": "^8.1.1",
80
+ "playwright": "^1.58.2",
81
81
  "react": "^18.3.1",
82
82
  "uuid": "^13.0.0",
83
83
  "yaml": "^2.8.2"
@@ -91,4 +91,4 @@
91
91
  "typescript": "^5.7.3",
92
92
  "vitest": "^4.0.18"
93
93
  }
94
- }
94
+ }
@@ -1,308 +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
- };
10
- var PHASE_ID = {
11
- RECON: "recon",
12
- SCAN: "scan",
13
- ENUM: "enum",
14
- VULN: "vuln",
15
- EXPLOIT: "exploit",
16
- PRIVESC: "privesc",
17
- PIVOT: "pivot",
18
- PERSIST: "persist",
19
- EXFIL: "exfil",
20
- REPORT: "report"
21
- };
22
- var PHASE_STATUS = {
23
- PENDING: "pending",
24
- IN_PROGRESS: "in_progress",
25
- COMPLETED: "completed",
26
- FAILED: "failed",
27
- SKIPPED: "skipped"
28
- };
29
- var THOUGHT_TYPE = {
30
- THINKING: "thinking",
31
- // LLM text streaming
32
- REASONING: "reasoning",
33
- // LLM extended thinking
34
- PLANNING: "planning",
35
- // Strategic planning
36
- OBSERVATION: "observation",
37
- // Observing results
38
- HYPOTHESIS: "hypothesis",
39
- // Forming hypothesis
40
- REFLECTION: "reflection",
41
- // Self-reflection
42
- ACTION: "action",
43
- // Taking action
44
- RESULT: "result",
45
- // Action result
46
- STUCK: "stuck",
47
- // Detected stuck state
48
- BREAKTHROUGH: "breakthrough"
49
- // Found breakthrough
50
- };
51
- var AGENT_EVENT = {
52
- // Lifecycle
53
- PLUGINS_LOADED: "plugins_loaded",
54
- HOOKS_LOADED: "hooks_loaded",
55
- COMMANDS_LOADED: "commands_loaded",
56
- MCP_SERVER_ADDED: "mcp_server_added",
57
- // Execution
58
- ITERATION: "iteration",
59
- THOUGHT: "thought",
60
- RESPONSE: "response",
61
- TOOL_CALL: "tool_call",
62
- TOOL_RESULT: "tool_result",
63
- COMMAND_EXECUTE: "command_execute",
64
- APPROVAL_NEEDED: "approval_needed",
65
- TOKEN_USAGE: "token_usage",
66
- LLM_START: "llm_start",
67
- LLM_END: "llm_end",
68
- // State changes
69
- TARGET_SET: "target_set",
70
- PHASE_CHANGE: "phase_change",
71
- AGENT_SWITCH: "agent_switch",
72
- PAUSED: "paused",
73
- RESUMED: "resumed",
74
- RESET: "reset",
75
- // Discoveries
76
- FINDING: "finding",
77
- CREDENTIAL: "credential",
78
- COMPROMISED: "compromised",
79
- // Completion
80
- COMPLETE: "complete",
81
- REPORT: "report",
82
- ERROR: "error",
83
- HINT_RECEIVED: "hint_received",
84
- CONTEXT_COMPACTED: "context_compacted"
85
- };
86
- var CLI_COMMAND = {
87
- HELP: "help",
88
- TARGET: "target",
89
- START: "start",
90
- STOP: "stop",
91
- FINDINGS: "findings",
92
- CLEAR: "clear",
93
- EXIT: "exit"
94
- };
95
- var MESSAGE_TYPE = {
96
- USER: "user",
97
- ASSISTANT: "assistant",
98
- TOOL: "tool",
99
- THINKING: "thinking",
100
- ERROR: "error",
101
- SYSTEM: "system",
102
- RESULT: "result"
103
- };
104
- var TOOL_NAME = {
105
- // System
106
- BASH: "bash",
107
- READ_FILE: "read_file",
108
- WRITE_FILE: "write_file",
109
- LIST_DIRECTORY: "list_directory",
110
- SET_TARGET: "set_target",
111
- // Network - Basic Connectivity
112
- PING: "ping",
113
- TRACEROUTE: "traceroute",
114
- MTR: "mtr",
115
- RUSTSCAN: "rustscan",
116
- NMAP_SCAN: "nmap_scan",
117
- MASSCAN: "masscan",
118
- TCPDUMP_CAPTURE: "tcpdump_capture",
119
- TSHARK: "tshark",
120
- NGREP: "ngrep",
121
- ARP_SCAN: "arp_scan",
122
- NETCAT: "netcat",
123
- SOCAT: "socat",
124
- // DNS & Subdomain
125
- DIG: "dig",
126
- HOST: "host",
127
- NSLOOKUP: "nslookup",
128
- WHOIS: "whois",
129
- SUBFINDER: "subfinder",
130
- AMASS: "amass",
131
- DNSENUM: "dnsenum",
132
- DNSRECON: "dnsrecon",
133
- DNSMAP: "dnsmap",
134
- ZONE_TRANSFER: "zone_transfer",
135
- // Service Enumeration
136
- SNMP_WALK: "snmp_walk",
137
- SNMP_CHECK: "snmp_check",
138
- ONESIXTYONE: "onesixtyone",
139
- FTP_ENUM: "ftp_enum",
140
- FTP_ANON: "ftp_anon",
141
- NBTSCAN: "nbtscan",
142
- RPC_INFO: "rpc_info",
143
- SHOWMOUNT: "showmount",
144
- TELNET: "telnet",
145
- // Web Recon & Tech Identification
146
- WHATWEB: "whatweb",
147
- HTTPX: "httpx",
148
- NUCLEI: "nuclei",
149
- NIKTO: "nikto",
150
- FFUF: "ffuf",
151
- GOBUSTER: "gobuster",
152
- DIRB: "dirb",
153
- FEROXBUSTER: "feroxbuster",
154
- WAYBACKURLS: "waybackurls",
155
- WAFW00F: "wafw00f",
156
- GOWITNESS: "gowitness",
157
- // Windows/SMB/AD
158
- SMB_ENUM: "smb_enum",
159
- SMBMAP: "smbmap",
160
- ENUM4LINUX: "enum4linux",
161
- CRACKMAPEXEC: "crackmapexec",
162
- SMBCLIENT: "smbclient",
163
- RPCCLIENT: "rpcclient",
164
- WINRM: "winrm",
165
- RDP_CHECK: "rdp_check",
166
- LDAP_SEARCH: "ldap_search",
167
- KERBRUTE: "kerbrute",
168
- BLOODHOUND: "bloodhound",
169
- // Database Clients
170
- MSSQL_CLIENT: "mssql_client",
171
- MYSQL_CLIENT: "mysql_client",
172
- PSQL_CLIENT: "psql_client",
173
- REDIS_CLI: "redis_cli",
174
- MONGO_CLIENT: "mongo_client",
175
- // Web
176
- WEB_REQUEST: "web_request",
177
- DIRECTORY_BRUTEFORCE: "directory_bruteforce",
178
- SQL_INJECTION: "sql_injection",
179
- BROWSER_AUTOMATION: "browser_automation",
180
- // Exploit
181
- SEARCHSPLOIT: "searchsploit",
182
- METASPLOIT: "metasploit",
183
- GENERATE_PAYLOAD: "generate_payload",
184
- // Credential
185
- BRUTEFORCE_LOGIN: "bruteforce_login",
186
- CRACK_HASH: "crack_hash",
187
- JOHN: "john",
188
- HASHCAT: "hashcat",
189
- HASHID: "hashid",
190
- DUMP_CREDENTIALS: "dump_credentials",
191
- HYDRA: "hydra",
192
- MEDUSA: "medusa",
193
- // Privilege Escalation
194
- CHECK_SUDO: "check_sudo",
195
- FIND_SUID: "find_suid",
196
- RUN_PRIVESC_ENUM: "run_privesc_enum",
197
- // Post-Exploitation & Tunneling
198
- SSH: "ssh",
199
- SSH_KEYGEN: "ssh_keygen",
200
- SETUP_TUNNEL: "setup_tunnel",
201
- CHISEL: "chisel",
202
- PROXYCHAINS: "proxychains",
203
- LATERAL_MOVEMENT: "lateral_movement",
204
- REVERSE_SHELL: "reverse_shell",
205
- // Listener & Payload Delivery
206
- NC_LISTENER: "nc_listener",
207
- PYTHON_HTTP_SERVER: "python_http_server",
208
- MSFVENOM: "msfvenom",
209
- RLWRAP: "rlwrap",
210
- PWNCAT: "pwncat",
211
- // Forensics
212
- BINWALK: "binwalk",
213
- FOREMOST: "foremost",
214
- STEGHIDE: "steghide",
215
- EXIFTOOL: "exiftool",
216
- // Reversing
217
- GDB: "gdb",
218
- RADARE2: "radare2",
219
- // Impacket Tools
220
- IMPACKET_SECRETSDUMP: "impacket_secretsdump",
221
- IMPACKET_PSEXEC: "impacket_psexec",
222
- IMPACKET_WMIEXEC: "impacket_wmiexec",
223
- IMPACKET_SMBEXEC: "impacket_smbexec",
224
- IMPACKET_ATEXEC: "impacket_atexec",
225
- IMPACKET_DCOMEXEC: "impacket_dcomexec",
226
- IMPACKET_GETNPUSERS: "impacket_getnpusers",
227
- IMPACKET_GETUSERSPNS: "impacket_getuserspns",
228
- // Reporting
229
- REPORT_FINDING: "report_finding",
230
- TAKE_SCREENSHOT: "take_screenshot"
231
- };
232
- var SENSITIVE_TOOLS = [
233
- TOOL_NAME.WRITE_FILE,
234
- TOOL_NAME.BRUTEFORCE_LOGIN,
235
- TOOL_NAME.METASPLOIT,
236
- TOOL_NAME.SQL_INJECTION,
237
- TOOL_NAME.DUMP_CREDENTIALS,
238
- TOOL_NAME.GENERATE_PAYLOAD,
239
- TOOL_NAME.LATERAL_MOVEMENT
240
- ];
241
-
242
- // src/config/constants.ts
243
- import { createRequire } from "module";
244
- var pkgVersion = "0.12.0";
245
- try {
246
- const require2 = createRequire(import.meta.url);
247
- const pkg = require2("../../package.json");
248
- pkgVersion = pkg.version || pkgVersion;
249
- } catch {
250
- }
251
- var APP_NAME = "pentesting";
252
- var APP_VERSION = pkgVersion;
253
- var APP_DESCRIPTION = "Autonomous Penetration Testing AI Agent";
254
- var LLM_API_KEY = process.env.PENTEST_API_KEY || process.env.ANTHROPIC_API_KEY || "";
255
- var LLM_BASE_URL = process.env.PENTEST_BASE_URL || void 0;
256
- var LLM_MODEL = process.env.PENTEST_MODEL || "claude-sonnet-4-20250514";
257
- var LLM_MAX_TOKENS = parseInt(process.env.PENTEST_MAX_TOKENS || "16384", 10);
258
- var CONTEXT_WINDOW = {
259
- maxTokens: 2e5,
260
- // Claude's context window size
261
- compactionThreshold: 15e4,
262
- // Trigger compaction at 75% usage
263
- reservedTokens: 4e3
264
- // Reserved for system prompt
265
- };
266
- var AGENT_CONFIG = {
267
- maxIterations: 200,
268
- maxToolCallsPerIteration: 10,
269
- autoApprove: false,
270
- sensitiveTools: SENSITIVE_TOOLS,
271
- defaultTimeout: 6e4,
272
- longRunningTimeout: 6e5,
273
- stuckThreshold: 5,
274
- stuckTimeThreshold: 3e5,
275
- maxPhaseAttempts: 20
276
- };
277
- var PENTEST_PHASES = [
278
- { id: PHASE_ID.RECON, name: "Reconnaissance", description: "Information gathering" },
279
- { id: PHASE_ID.SCAN, name: "Scanning", description: "Port and service scanning" },
280
- { id: PHASE_ID.ENUM, name: "Enumeration", description: "Deep service enumeration" },
281
- { id: PHASE_ID.VULN, name: "Vulnerability Analysis", description: "Vulnerability identification" },
282
- { id: PHASE_ID.EXPLOIT, name: "Exploitation", description: "Gaining access" },
283
- { id: PHASE_ID.PRIVESC, name: "Privilege Escalation", description: "Elevating privileges" },
284
- { id: PHASE_ID.PIVOT, name: "Pivoting", description: "Lateral movement" },
285
- { id: PHASE_ID.PERSIST, name: "Persistence", description: "Maintaining access" },
286
- { id: PHASE_ID.EXFIL, name: "Data Exfiltration", description: "Data extraction" },
287
- { id: PHASE_ID.REPORT, name: "Reporting", description: "Documentation" }
288
- ];
289
-
290
- export {
291
- AGENT_STATUS,
292
- PHASE_ID,
293
- PHASE_STATUS,
294
- THOUGHT_TYPE,
295
- AGENT_EVENT,
296
- CLI_COMMAND,
297
- MESSAGE_TYPE,
298
- TOOL_NAME,
299
- APP_NAME,
300
- APP_VERSION,
301
- APP_DESCRIPTION,
302
- LLM_API_KEY,
303
- LLM_BASE_URL,
304
- LLM_MODEL,
305
- LLM_MAX_TOKENS,
306
- CONTEXT_WINDOW,
307
- AGENT_CONFIG
308
- };
@@ -1,2 +0,0 @@
1
-
2
- export { }
File without changes