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.
- package/README.md +144 -121
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,130 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
```
|
|
2
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
3
|
+
β β
|
|
4
|
+
β βββββββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββ
|
|
5
|
+
β βββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββ
|
|
6
|
+
β ββββββββββββββ ββββββ βββ βββ ββββββ ββββββββ βββ β
|
|
7
|
+
β βββββββ ββββββ ββββββββββ βββ ββββββ ββββββββ βββ β
|
|
8
|
+
β βββ βββββββββββ ββββββ βββ ββββββββββββββββ βββ β
|
|
9
|
+
β βββ βββββββββββ βββββ βββ ββββββββββββββββ βββ β
|
|
10
|
+
β β
|
|
11
|
+
β π― DEF CON-level Autonomous Pentesting Agent β
|
|
12
|
+
β β
|
|
13
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
14
|
+
```
|
|
8
15
|
|
|
9
16
|
[](https://www.npmjs.com/package/pentesting)
|
|
10
17
|
[](https://hub.docker.com/r/agnusdei1207/pentesting-tools)
|
|
11
18
|
|
|
12
|
-
|
|
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
|
-
|
|
21
|
+
## π Quick Start
|
|
26
22
|
|
|
27
23
|
```bash
|
|
24
|
+
# Install
|
|
28
25
|
npm install -g pentesting
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### Configure
|
|
32
26
|
|
|
33
|
-
|
|
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
|
-
|
|
31
|
+
|
|
32
|
+
# Run
|
|
33
|
+
pentesting
|
|
43
34
|
```
|
|
44
35
|
|
|
45
|
-
|
|
36
|
+
---
|
|
46
37
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
/
|
|
65
|
-
|
|
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
|
-
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## π€ Built-in Agents
|
|
74
85
|
|
|
75
86
|
| Agent | Specialty |
|
|
76
87
|
|-------|-----------|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
188
|
+
---
|
|
195
189
|
|
|
196
|
-
|
|
190
|
+
## ποΈ Architecture
|
|
197
191
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
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
|
-
|
|
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
|
-
β βββ
|
|
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
|
-
|
|
230
|
-
βββ
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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;
|