pentesting 0.2.3 β†’ 0.2.4

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.
Files changed (3) hide show
  1. package/README.md +144 -121
  2. package/dist/index.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,130 +1,120 @@
1
- # Pentesting
2
-
3
- > 🎯 DEF CON-level Autonomous Penetration Testing AI Agent
4
-
5
- <p align="center">
6
- <img src="assets/logo.png" alt="Pentesting Logo" width="200"/>
7
- </p>
1
+ ```
2
+ ╔═══════════════════════════════════════════════════════════════╗
3
+ β•‘ β•‘
4
+ β•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•‘
5
+ β•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β•‘
6
+ β•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β•‘
7
+ β•‘ β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•”β•β•β• β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β• β•šβ•β•β•β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•‘
8
+ β•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•‘
9
+ β•‘ β•šβ•β• β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β•β•β• β•šβ•β• β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β• β•šβ•β• β•‘
10
+ β•‘ β•‘
11
+ β•‘ 🎯 DEF CON-level Autonomous Pentesting Agent β•‘
12
+ β•‘ β•‘
13
+ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
14
+ ```
8
15
 
9
16
  [![npm version](https://badge.fury.io/js/pentesting.svg)](https://www.npmjs.com/package/pentesting)
10
17
  [![Docker](https://img.shields.io/badge/Docker-pentesting--tools-blue)](https://hub.docker.com/r/agnusdei1207/pentesting-tools)
11
18
 
12
- ## ✨ Features
13
-
14
- - **7-Phase Attack Workflow**: Recon β†’ Scan β†’ Enum β†’ Vuln Analysis β†’ Exploitation β†’ PrivEsc β†’ Reporting
15
- - **9 Specialized Agents**: Built-in experts for each security domain
16
- - **Ralph Loop**: Autonomous iteration until objective is achieved
17
- - **Streaming Responses**: Real-time output from Claude
18
- - **Session Persistence**: Save/resume pentesting sessions
19
- - **Tool Approval**: Manual confirmation for dangerous commands
20
- - **MCP Integration**: Extend with Model Context Protocol tools
21
- - **Docker Toolkit**: 50+ pre-installed pentesting tools
22
-
23
- ## Quick Start
19
+ ---
24
20
 
25
- ### Install
21
+ ## πŸš€ Quick Start
26
22
 
27
23
  ```bash
24
+ # Install
28
25
  npm install -g pentesting
29
- ```
30
-
31
- ### Configure
32
26
 
33
- ```bash
34
- # Required: API Key (either works)
27
+ # Configure
35
28
  export PENTEST_API_KEY=your_api_key
36
- # or
37
- export ANTHROPIC_API_KEY=your_api_key
38
-
39
- # For other providers (GLM, OpenRouter, etc.)
40
29
  export PENTEST_BASE_URL=https://your-api-endpoint.com/v1
41
30
  export PENTEST_MODEL=your-model-name
42
- export PENTEST_MAX_TOKENS=16384
31
+
32
+ # Run
33
+ pentesting
43
34
  ```
44
35
 
45
- ### Run
36
+ ---
46
37
 
47
- ```bash
48
- pentesting # Interactive mode
49
- pentesting --yolo # Auto-approve all tools (dangerous!)
50
- ```
38
+ ## ✨ Features
39
+
40
+ - **10-Phase Attack Workflow**: Recon β†’ Scan β†’ Enum β†’ Vuln Analysis β†’ Exploitation β†’ PrivEsc β†’ Pivot β†’ Persist β†’ Exfil β†’ Report
41
+ - **9 Specialized Agents**: Built-in experts for each security domain
42
+ - **Ralph Loop**: Autonomous iteration until objective is achieved
43
+ - **Streaming Responses**: Real-time LLM output
44
+ - **Session Persistence**: Save/resume pentesting sessions
45
+ - **Tool Approval**: Manual confirmation for dangerous commands
46
+ - **MCP Integration**: Extend with Model Context Protocol tools
47
+ - **Docker Toolkit**: 50+ pre-installed pentesting tools
48
+ - **Provider Agnostic**: Works with any OpenAI-compatible API
49
+
50
+ ---
51
51
 
52
- ## CLI Commands
52
+ ## πŸ“– CLI Commands
53
53
 
54
54
  ```bash
55
+ # Target & Session
55
56
  /target <ip> Set target
56
57
  /start [objective] Start autonomous pentest
58
+ /sessions List saved sessions
59
+ /resume [id] Resume a session
60
+
61
+ # Scanning & Enumeration
57
62
  /scan <target> Quick enumeration
63
+ /web <url> Web application testing
64
+
65
+ # Exploitation
58
66
  /exploit <service> Search for exploits
59
67
  /privesc [os] Check privilege escalation vectors
60
- /web <url> Web application testing
61
- /hash <hash> Identify and crack hashes
62
68
  /attack <objective> Execute attack chain
69
+ /hash <hash> Identify and crack hashes
70
+
71
+ # Reporting
63
72
  /report Generate pentest report
64
- /sessions List saved sessions
65
- /resume [id] Resume a session
73
+ /findings Show findings
74
+
75
+ # Control
66
76
  /yolo Toggle auto-approve mode
67
77
  /approve /deny Approve/deny tool execution
68
- /findings Show findings
69
78
  /clear Clear screen
70
79
  /exit Exit
71
80
  ```
72
81
 
73
- ## Built-in Agents
82
+ ---
83
+
84
+ ## πŸ€– Built-in Agents
74
85
 
75
86
  | Agent | Specialty |
76
87
  |-------|-----------|
77
- | **target-explorer** | Network reconnaissance, service enumeration |
78
- | **exploit-researcher** | CVE research, exploit development |
79
- | **privesc-master** | Linux/Windows privilege escalation |
80
- | **web-hacker** | OWASP Top 10, SQLi, XSS, SSRF |
81
- | **crypto-solver** | Hash cracking, cipher analysis |
82
- | **forensics-analyst** | Memory forensics, file carving |
83
- | **reverse-engineer** | Binary analysis, exploit development |
84
- | **attack-architect** | Attack strategy planning |
85
- | **finding-reviewer** | Vulnerability validation |
86
-
87
- ## Architecture
88
+ | `target-explorer` | Network reconnaissance, service enumeration |
89
+ | `exploit-researcher` | CVE research, exploit development |
90
+ | `privesc-master` | Linux/Windows privilege escalation |
91
+ | `web-hacker` | OWASP Top 10, SQLi, XSS, SSRF |
92
+ | `crypto-solver` | Hash cracking, cipher analysis |
93
+ | `forensics-analyst` | Memory forensics, file carving |
94
+ | `reverse-engineer` | Binary analysis, exploit development |
95
+ | `attack-architect` | Attack strategy planning |
96
+ | `finding-reviewer` | Vulnerability validation |
88
97
 
89
- ```
90
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
91
- β”‚ TUI (app.tsx) β”‚
92
- β”‚ - Streaming text display β”‚
93
- β”‚ - Tool approval prompts β”‚
94
- β”‚ - Session management β”‚
95
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
96
- β”‚ Wire Protocol
97
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
98
- β”‚ PentestingAgent (Unified) β”‚
99
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
100
- β”‚ β”‚ RalphLoop β”‚ β”‚ Streaming β”‚ β”‚ Session β”‚ β”‚
101
- β”‚ β”‚ (Auto-iter) β”‚ β”‚ Handler β”‚ β”‚ Manager β”‚ β”‚
102
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
103
- β”‚ β”‚
104
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
105
- β”‚ β”‚ Context β”‚ β”‚ Retry β”‚ β”‚ Approval β”‚ β”‚
106
- β”‚ β”‚ Compaction β”‚ β”‚ Handler β”‚ β”‚ Manager β”‚ β”‚
107
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
108
- β”‚ β”‚
109
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
110
- β”‚ β”‚ AutonomousHackingAgent (Core) β”‚ β”‚
111
- β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚
112
- β”‚ β”‚ β”‚ 9 Built-in Specialized Agents β”‚ β”‚ β”‚
113
- β”‚ β”‚ β”‚ (No plugins needed) β”‚ β”‚ β”‚
114
- β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚
115
- β”‚ β”‚ - Hook System β”‚ β”‚
116
- β”‚ β”‚ - MCP Client for Extended Tools β”‚ β”‚
117
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
118
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
119
- β”‚
120
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
121
- β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
122
- β”‚ Tool β”‚ β”‚ Bash β”‚ β”‚ MCP β”‚
123
- β”‚Executor β”‚ β”‚ Commandsβ”‚ β”‚ Servers β”‚
124
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
125
- ```
98
+ ---
99
+
100
+ ## βš™οΈ Configuration
101
+
102
+ ### Environment Variables
103
+
104
+ | Variable | Description | Default |
105
+ |----------|-------------|---------|
106
+ | `PENTEST_API_KEY` | LLM API key | Required |
107
+ | `PENTEST_BASE_URL` | API endpoint URL | - |
108
+ | `PENTEST_MODEL` | Model name | claude-sonnet-4-20250514 |
109
+ | `PENTEST_MAX_TOKENS` | Max response tokens | 16384 |
110
+ | `PENTESTING_DOCKER` | Force Docker execution | 0 |
111
+ | `PENTESTING_CONTAINER` | Docker container name | pentesting-tools |
126
112
 
127
- ## Programmatic Usage
113
+ > **Note**: `ANTHROPIC_API_KEY` is also accepted as fallback for `PENTEST_API_KEY`.
114
+
115
+ ---
116
+
117
+ ## πŸ’» Programmatic Usage
128
118
 
129
119
  ```typescript
130
120
  import { PentestingAgent, PENTEST_EVENT } from 'pentesting';
@@ -158,7 +148,9 @@ const scanResult = await agent.chat('/scan 10.10.10.1');
158
148
  const exploitResult = await agent.chat('/exploit Apache 2.4.49');
159
149
  ```
160
150
 
161
- ## Docker Environment
151
+ ---
152
+
153
+ ## 🐳 Docker Environment
162
154
 
163
155
  ```bash
164
156
  # Pull pre-built toolkit (50+ tools)
@@ -173,7 +165,9 @@ docker run -d --name pentesting-tools --network host \
173
165
  docker exec -it pentesting-tools nmap -sCV 10.0.0.1
174
166
  ```
175
167
 
176
- ## MCP Integration
168
+ ---
169
+
170
+ ## πŸ”Œ MCP Integration
177
171
 
178
172
  Extend with additional MCP servers:
179
173
 
@@ -191,32 +185,50 @@ await agent.addMCPServer('security-tools', 'docker', [
191
185
  ]);
192
186
  ```
193
187
 
194
- ## Configuration
188
+ ---
195
189
 
196
- ### Environment Variables
190
+ ## πŸ—οΈ Architecture
197
191
 
198
- | Variable | Description | Default |
199
- |----------|-------------|---------|
200
- | PENTEST_API_KEY | API key (alternative: ANTHROPIC_API_KEY) | Required |
201
- | PENTEST_BASE_URL | API endpoint URL (for GLM, etc.) | - |
202
- | PENTEST_MODEL | Model name | claude-sonnet-4-20250514 |
203
- | PENTEST_MAX_TOKENS | Max response tokens | 16384 |
204
- | PENTESTING_DOCKER | Force Docker execution | 0 |
205
- | PENTESTING_CONTAINER | Docker container name | pentesting-tools |
192
+ ```
193
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
194
+ β”‚ TUI (app.tsx) β”‚
195
+ β”‚ - Streaming text display β”‚
196
+ β”‚ - Tool approval prompts β”‚
197
+ β”‚ - Session management β”‚
198
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
199
+ β”‚ Wire Protocol
200
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
201
+ β”‚ PentestingAgent (Unified) β”‚
202
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
203
+ β”‚ β”‚ RalphLoop β”‚ β”‚ Streaming β”‚ β”‚ Session β”‚ β”‚
204
+ β”‚ β”‚ (Auto-iter) β”‚ β”‚ Handler β”‚ β”‚ Manager β”‚ β”‚
205
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
206
+ β”‚ β”‚
207
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
208
+ β”‚ β”‚ AutonomousHackingAgent (Core) β”‚ β”‚
209
+ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚
210
+ β”‚ β”‚ β”‚ 9 Built-in Specialized Agents β”‚ β”‚ β”‚
211
+ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚
212
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
213
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
214
+ β”‚
215
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
216
+ β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
217
+ β”‚ Tool β”‚ β”‚ Bash β”‚ β”‚ MCP β”‚
218
+ β”‚Executor β”‚ β”‚ Commandsβ”‚ β”‚ Servers β”‚
219
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
220
+ ```
206
221
 
207
- ## Project Structure
222
+ ---
223
+
224
+ ## πŸ“ Project Structure
208
225
 
209
226
  ```
210
227
  src/
211
228
  β”œβ”€β”€ index.tsx # CLI entry point
212
- β”œβ”€β”€ cli/
213
- β”‚ └── app.tsx # TUI with streaming, approval, sessions
229
+ β”œβ”€β”€ cli/app.tsx # TUI with streaming, approval, sessions
214
230
  β”œβ”€β”€ core/
215
- β”‚ β”œβ”€β”€ index.ts # All core exports
216
- β”‚ β”œβ”€β”€ agent/
217
- β”‚ β”‚ β”œβ”€β”€ pentesting-agent.ts # Unified agent
218
- β”‚ β”‚ β”œβ”€β”€ autonomous-agent.ts # Core agent logic
219
- β”‚ β”‚ └── agent-orchestrator.ts # Parallel agent execution
231
+ β”‚ β”œβ”€β”€ agent/ # Agent implementations
220
232
  β”‚ β”œβ”€β”€ approval/ # Tool approval system
221
233
  β”‚ β”œβ”€β”€ context/ # Conversation compaction
222
234
  β”‚ β”œβ”€β”€ hooks/ # Event hooks
@@ -225,17 +237,16 @@ src/
225
237
  β”‚ β”œβ”€β”€ streaming/ # Real-time streaming
226
238
  β”‚ β”œβ”€β”€ prompts/ # System prompts
227
239
  β”‚ └── tools/ # Tool definitions & executor
228
- β”œβ”€β”€ agents/
229
- β”‚ └── index.ts # 9 built-in specialized agents
230
- β”œβ”€β”€ commands/
231
- β”‚ └── index.ts # Built-in slash commands
232
- β”œβ”€β”€ wire/ # Agent-UI communication protocol
240
+ β”œβ”€β”€ agents/index.ts # 9 built-in specialized agents
241
+ β”œβ”€β”€ commands/index.ts # Built-in slash commands
242
+ β”œβ”€β”€ wire/ # Agent-UI communication
233
243
  β”œβ”€β”€ mcp/ # MCP client integration
234
- β”œβ”€β”€ utils/ # Retry logic, utilities
235
244
  └── config/ # Constants, theme
236
245
  ```
237
246
 
238
- ## Development
247
+ ---
248
+
249
+ ## πŸ› οΈ Development
239
250
 
240
251
  ```bash
241
252
  # Clone
@@ -252,12 +263,24 @@ npm run build
252
263
  npm run dev
253
264
  ```
254
265
 
255
- ## Legal
266
+ ---
267
+
268
+ ## πŸ“š Documentation
269
+
270
+ - [Architecture](docs/architecture.md) - System design and components
271
+ - [API Reference](docs/api-reference.md) - Full API documentation
272
+ - [Troubleshooting](docs/troubleshooting.md) - Common issues
256
273
 
257
- ⚠️ **Only use on systems you own or have explicit permission to test.**
274
+ ---
275
+
276
+ ## ⚠️ Legal
277
+
278
+ **Only use on systems you own or have explicit permission to test.**
258
279
 
259
280
  This tool is for authorized penetration testing and CTF competitions only. Unauthorized access to computer systems is illegal.
260
281
 
261
- ## License
282
+ ---
283
+
284
+ ## πŸ“„ License
262
285
 
263
286
  MIT
package/dist/index.js CHANGED
@@ -1374,7 +1374,7 @@ const { chromium } = require('playwright');
1374
1374
  }
1375
1375
 
1376
1376
  // src/config/constants.ts
1377
- var APP_VERSION = "0.2.3";
1377
+ var APP_VERSION = "0.2.4";
1378
1378
  var APP_DESCRIPTION = "Autonomous Penetration Testing AI Agent";
1379
1379
  var LLM_API_KEY = process.env.PENTEST_API_KEY || process.env.ANTHROPIC_API_KEY || "";
1380
1380
  var LLM_BASE_URL = process.env.PENTEST_BASE_URL || void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pentesting",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Autonomous Penetration Testing AI Agent",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",