@hackerai/local 0.1.1 โ 0.1.3
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 +14 -12
- package/dist/index.js +161 -59
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,8 +23,10 @@ hackerai-local --token YOUR_TOKEN
|
|
|
23
23
|
npx @hackerai/local --token hsb_abc123 --name "My Laptop"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
This pulls the pre-built HackerAI
|
|
27
|
-
nmap, sqlmap, ffuf, gobuster, nuclei, hydra, nikto, wpscan, subfinder, httpx, and more.
|
|
26
|
+
This pulls the pre-built HackerAI Agent Sandbox image (~4GB) with a pre-configured setup environment to execute automated security tools with ease and security. Includes comprehensive automated security tools:
|
|
27
|
+
nmap, sqlmap, ffuf, gobuster, nuclei, hydra, nikto, wpscan, subfinder, httpx, bloodhound, kerbrute, and more.
|
|
28
|
+
|
|
29
|
+
All tools are pre-installed, configured, and ready to use immediately - no manual setup required.
|
|
28
30
|
|
|
29
31
|
### Custom Docker Image
|
|
30
32
|
|
|
@@ -42,14 +44,14 @@ npx @hackerai/local --token hsb_abc123 --name "Work PC" --dangerous
|
|
|
42
44
|
|
|
43
45
|
## Options
|
|
44
46
|
|
|
45
|
-
| Option
|
|
46
|
-
|
|
47
|
-
| `--token TOKEN`
|
|
48
|
-
| `--name NAME`
|
|
49
|
-
| `--image IMAGE`
|
|
50
|
-
| `--dangerous`
|
|
51
|
-
| `--convex-url URL` | Override backend URL (for development)
|
|
52
|
-
| `--help, -h`
|
|
47
|
+
| Option | Description |
|
|
48
|
+
| ------------------ | ------------------------------------------------------ |
|
|
49
|
+
| `--token TOKEN` | Authentication token from HackerAI Settings (required) |
|
|
50
|
+
| `--name NAME` | Connection name shown in HackerAI (default: hostname) |
|
|
51
|
+
| `--image IMAGE` | Docker image to use (default: hackerai/sandbox) |
|
|
52
|
+
| `--dangerous` | Run commands directly on host OS without Docker |
|
|
53
|
+
| `--convex-url URL` | Override backend URL (for development) |
|
|
54
|
+
| `--help, -h` | Show help message |
|
|
53
55
|
|
|
54
56
|
## Getting Your Token
|
|
55
57
|
|
|
@@ -59,8 +61,8 @@ npx @hackerai/local --token hsb_abc123 --name "Work PC" --dangerous
|
|
|
59
61
|
|
|
60
62
|
## Security
|
|
61
63
|
|
|
62
|
-
- **Docker Mode**: Commands run in
|
|
63
|
-
- **Dangerous Mode**: Commands run directly on your OS - use with caution
|
|
64
|
+
- **Docker Mode**: Commands run in a container with process isolation, but with direct host network access (`--network host`) and network capabilities (`--cap-add=NET_RAW --cap-add=NET_ADMIN`) so pentesting tools like nmap, masscan, and tcpdump can perform network scans and packet captures
|
|
65
|
+
- **Dangerous Mode**: Commands run directly on your OS without any isolation - use with caution
|
|
64
66
|
|
|
65
67
|
## License
|
|
66
68
|
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ function runWithOutput(command, args) {
|
|
|
35
35
|
// Production Convex URL - hardcoded for the published package
|
|
36
36
|
const PRODUCTION_CONVEX_URL = "https://convex.haiusercontent.com";
|
|
37
37
|
// Default pre-built image with all pentesting tools
|
|
38
|
-
const DEFAULT_IMAGE = "
|
|
38
|
+
const DEFAULT_IMAGE = "hackerai/sandbox";
|
|
39
39
|
// Convex function references (string paths work at runtime)
|
|
40
40
|
const api = {
|
|
41
41
|
localSandbox: {
|
|
@@ -44,6 +44,7 @@ const api = {
|
|
|
44
44
|
disconnect: "localSandbox:disconnect",
|
|
45
45
|
getPendingCommands: "localSandbox:getPendingCommands",
|
|
46
46
|
markCommandExecuting: "localSandbox:markCommandExecuting",
|
|
47
|
+
submitOutputChunk: "localSandbox:submitOutputChunk",
|
|
47
48
|
submitResult: "localSandbox:submitResult",
|
|
48
49
|
},
|
|
49
50
|
};
|
|
@@ -64,11 +65,11 @@ class LocalSandboxClient {
|
|
|
64
65
|
userId;
|
|
65
66
|
connectionId;
|
|
66
67
|
heartbeatInterval;
|
|
67
|
-
|
|
68
|
+
commandSubscription;
|
|
68
69
|
isShuttingDown = false;
|
|
69
70
|
constructor(config) {
|
|
70
71
|
this.config = config;
|
|
71
|
-
this.convex = new browser_1.
|
|
72
|
+
this.convex = new browser_1.ConvexClient(config.convexUrl);
|
|
72
73
|
}
|
|
73
74
|
async start() {
|
|
74
75
|
console.log(chalk.blue("๐ Starting HackerAI local sandbox..."));
|
|
@@ -112,7 +113,7 @@ class LocalSandboxClient {
|
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
console.log(chalk.blue("Creating Docker container..."));
|
|
115
|
-
const { stdout } = await execAsync(`docker run -d --network host ${this.config.image} tail -f /dev/null`);
|
|
116
|
+
const { stdout } = await execAsync(`docker run -d --network host --cap-add=NET_RAW --cap-add=NET_ADMIN ${this.config.image} tail -f /dev/null`);
|
|
116
117
|
return stdout.trim();
|
|
117
118
|
}
|
|
118
119
|
getOsInfo() {
|
|
@@ -123,6 +124,25 @@ class LocalSandboxClient {
|
|
|
123
124
|
hostname: os_1.default.hostname(),
|
|
124
125
|
};
|
|
125
126
|
}
|
|
127
|
+
getMode() {
|
|
128
|
+
if (this.config.dangerous) {
|
|
129
|
+
return "dangerous";
|
|
130
|
+
}
|
|
131
|
+
if (this.config.image !== DEFAULT_IMAGE) {
|
|
132
|
+
return "custom";
|
|
133
|
+
}
|
|
134
|
+
return "docker";
|
|
135
|
+
}
|
|
136
|
+
getModeDisplay() {
|
|
137
|
+
const mode = this.getMode();
|
|
138
|
+
if (mode === "dangerous") {
|
|
139
|
+
return "DANGEROUS";
|
|
140
|
+
}
|
|
141
|
+
if (mode === "custom") {
|
|
142
|
+
return `Custom (${this.config.image})`;
|
|
143
|
+
}
|
|
144
|
+
return "Docker";
|
|
145
|
+
}
|
|
126
146
|
async connect() {
|
|
127
147
|
console.log(chalk.blue("Connecting to HackerAI..."));
|
|
128
148
|
try {
|
|
@@ -132,7 +152,8 @@ class LocalSandboxClient {
|
|
|
132
152
|
connectionName: this.config.name,
|
|
133
153
|
containerId: this.containerId,
|
|
134
154
|
clientVersion: "1.0.0",
|
|
135
|
-
mode: this.
|
|
155
|
+
mode: this.getMode(),
|
|
156
|
+
imageName: this.config.dangerous ? undefined : this.config.image,
|
|
136
157
|
osInfo: this.config.dangerous ? this.getOsInfo() : undefined,
|
|
137
158
|
}));
|
|
138
159
|
if (!result.success) {
|
|
@@ -143,9 +164,9 @@ class LocalSandboxClient {
|
|
|
143
164
|
console.log(chalk.green("โ Authenticated"));
|
|
144
165
|
console.log(chalk.bold(chalk.green("๐ Local sandbox is ready!")));
|
|
145
166
|
console.log(chalk.gray(`Connection: ${this.connectionId}`));
|
|
146
|
-
console.log(chalk.gray(`Mode: ${this.
|
|
167
|
+
console.log(chalk.gray(`Mode: ${this.getModeDisplay()}`));
|
|
147
168
|
this.startHeartbeat();
|
|
148
|
-
this.
|
|
169
|
+
this.startCommandSubscription();
|
|
149
170
|
}
|
|
150
171
|
catch (error) {
|
|
151
172
|
const err = error;
|
|
@@ -159,25 +180,21 @@ class LocalSandboxClient {
|
|
|
159
180
|
process.exit(1);
|
|
160
181
|
}
|
|
161
182
|
}
|
|
162
|
-
|
|
163
|
-
this.
|
|
164
|
-
|
|
183
|
+
startCommandSubscription() {
|
|
184
|
+
if (!this.connectionId)
|
|
185
|
+
return;
|
|
186
|
+
// Use Convex subscription for real-time command updates (much more efficient than polling)
|
|
187
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
188
|
+
this.commandSubscription = this.convex.onUpdate(api.localSandbox.getPendingCommands, {
|
|
189
|
+
token: this.config.token,
|
|
190
|
+
connectionId: this.connectionId,
|
|
191
|
+
}, async (data) => {
|
|
192
|
+
if (this.isShuttingDown || !data?.commands)
|
|
165
193
|
return;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
const data = (await this.convex.query(api.localSandbox.getPendingCommands, {
|
|
169
|
-
connectionId: this.connectionId,
|
|
170
|
-
}));
|
|
171
|
-
if (data?.commands && data.commands.length > 0) {
|
|
172
|
-
for (const cmd of data.commands) {
|
|
173
|
-
await this.executeCommand(cmd);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
catch {
|
|
178
|
-
// Ignore polling errors
|
|
194
|
+
for (const cmd of data.commands) {
|
|
195
|
+
await this.executeCommand(cmd);
|
|
179
196
|
}
|
|
180
|
-
}
|
|
197
|
+
});
|
|
181
198
|
}
|
|
182
199
|
async executeCommand(cmd) {
|
|
183
200
|
const { command_id, command, env, cwd, timeout } = cmd;
|
|
@@ -186,6 +203,7 @@ class LocalSandboxClient {
|
|
|
186
203
|
try {
|
|
187
204
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
188
205
|
await this.convex.mutation(api.localSandbox.markCommandExecuting, {
|
|
206
|
+
token: this.config.token,
|
|
189
207
|
commandId: command_id,
|
|
190
208
|
});
|
|
191
209
|
let fullCommand = command;
|
|
@@ -198,33 +216,16 @@ class LocalSandboxClient {
|
|
|
198
216
|
.join("; ");
|
|
199
217
|
fullCommand = `${envString}; ${fullCommand}`;
|
|
200
218
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
result = await execAsync(fullCommand, {
|
|
204
|
-
timeout: timeout ?? 30000,
|
|
205
|
-
shell: "/bin/bash",
|
|
206
|
-
}).catch((error) => ({
|
|
207
|
-
stdout: error.stdout || "",
|
|
208
|
-
stderr: error.stderr || error.message || "",
|
|
209
|
-
code: error.code || 1,
|
|
210
|
-
}));
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
const escapedCommand = fullCommand.replace(/"/g, '\\"');
|
|
214
|
-
result = await execAsync(`docker exec ${this.containerId} bash -c "${escapedCommand}"`, { timeout: timeout ?? 30000 }).catch((error) => ({
|
|
215
|
-
stdout: error.stdout || "",
|
|
216
|
-
stderr: error.stderr || error.message || "",
|
|
217
|
-
code: error.code || 1,
|
|
218
|
-
}));
|
|
219
|
-
}
|
|
219
|
+
// Use spawn for streaming output
|
|
220
|
+
const result = await this.executeWithStreaming(fullCommand, command_id, timeout ?? 30000);
|
|
220
221
|
const duration = Date.now() - startTime;
|
|
221
222
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
222
223
|
await this.convex.mutation(api.localSandbox.submitResult, {
|
|
223
224
|
commandId: command_id,
|
|
224
|
-
|
|
225
|
-
stdout: result.stdout
|
|
226
|
-
stderr: result.stderr
|
|
227
|
-
exitCode: result.code
|
|
225
|
+
token: this.config.token,
|
|
226
|
+
stdout: result.stdout,
|
|
227
|
+
stderr: result.stderr,
|
|
228
|
+
exitCode: result.code,
|
|
228
229
|
duration,
|
|
229
230
|
});
|
|
230
231
|
console.log(chalk.green(`โ Command completed in ${duration}ms`));
|
|
@@ -235,7 +236,7 @@ class LocalSandboxClient {
|
|
|
235
236
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
236
237
|
await this.convex.mutation(api.localSandbox.submitResult, {
|
|
237
238
|
commandId: command_id,
|
|
238
|
-
|
|
239
|
+
token: this.config.token,
|
|
239
240
|
stdout: "",
|
|
240
241
|
stderr: message,
|
|
241
242
|
exitCode: 1,
|
|
@@ -244,23 +245,120 @@ class LocalSandboxClient {
|
|
|
244
245
|
console.log(chalk.red(`โ Command failed: ${message}`));
|
|
245
246
|
}
|
|
246
247
|
}
|
|
248
|
+
async executeWithStreaming(fullCommand, commandId, timeout) {
|
|
249
|
+
return new Promise((resolve) => {
|
|
250
|
+
let stdout = "";
|
|
251
|
+
let stderr = "";
|
|
252
|
+
let resolved = false;
|
|
253
|
+
// Debounce chunk submissions to avoid overwhelming Convex
|
|
254
|
+
let pendingStdout = "";
|
|
255
|
+
let pendingStderr = "";
|
|
256
|
+
let flushTimeout = null;
|
|
257
|
+
const flushChunks = async () => {
|
|
258
|
+
if (flushTimeout) {
|
|
259
|
+
clearTimeout(flushTimeout);
|
|
260
|
+
flushTimeout = null;
|
|
261
|
+
}
|
|
262
|
+
const stdoutChunk = pendingStdout;
|
|
263
|
+
const stderrChunk = pendingStderr;
|
|
264
|
+
pendingStdout = "";
|
|
265
|
+
pendingStderr = "";
|
|
266
|
+
if (stdoutChunk || stderrChunk) {
|
|
267
|
+
try {
|
|
268
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
269
|
+
await this.convex.mutation(api.localSandbox.submitOutputChunk, {
|
|
270
|
+
token: this.config.token,
|
|
271
|
+
commandId,
|
|
272
|
+
stdout: stdoutChunk || undefined,
|
|
273
|
+
stderr: stderrChunk || undefined,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
// Ignore chunk submission errors - final result will have full output
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
const scheduleFlush = () => {
|
|
282
|
+
if (!flushTimeout) {
|
|
283
|
+
flushTimeout = setTimeout(flushChunks, 100); // Flush every 100ms
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
let proc;
|
|
287
|
+
if (this.config.dangerous) {
|
|
288
|
+
proc = (0, child_process_1.spawn)("/bin/bash", ["-c", fullCommand]);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// Use single quotes to prevent host shell from interpreting $(), backticks, etc.
|
|
292
|
+
const escapedCommand = fullCommand.replace(/'/g, "'\\''");
|
|
293
|
+
proc = (0, child_process_1.spawn)("docker", [
|
|
294
|
+
"exec",
|
|
295
|
+
this.containerId,
|
|
296
|
+
"bash",
|
|
297
|
+
"-c",
|
|
298
|
+
escapedCommand,
|
|
299
|
+
]);
|
|
300
|
+
}
|
|
301
|
+
proc.stdout?.on("data", (data) => {
|
|
302
|
+
const chunk = data.toString();
|
|
303
|
+
stdout += chunk;
|
|
304
|
+
pendingStdout += chunk;
|
|
305
|
+
scheduleFlush();
|
|
306
|
+
});
|
|
307
|
+
proc.stderr?.on("data", (data) => {
|
|
308
|
+
const chunk = data.toString();
|
|
309
|
+
stderr += chunk;
|
|
310
|
+
pendingStderr += chunk;
|
|
311
|
+
scheduleFlush();
|
|
312
|
+
});
|
|
313
|
+
const cleanup = async (code) => {
|
|
314
|
+
if (resolved)
|
|
315
|
+
return;
|
|
316
|
+
resolved = true;
|
|
317
|
+
// Flush any remaining chunks
|
|
318
|
+
if (flushTimeout) {
|
|
319
|
+
clearTimeout(flushTimeout);
|
|
320
|
+
}
|
|
321
|
+
await flushChunks();
|
|
322
|
+
resolve({ stdout, stderr, code });
|
|
323
|
+
};
|
|
324
|
+
proc.on("close", (code) => {
|
|
325
|
+
cleanup(code ?? 0);
|
|
326
|
+
});
|
|
327
|
+
proc.on("error", (error) => {
|
|
328
|
+
stderr += error.message;
|
|
329
|
+
cleanup(1);
|
|
330
|
+
});
|
|
331
|
+
// Handle timeout
|
|
332
|
+
setTimeout(() => {
|
|
333
|
+
if (!resolved) {
|
|
334
|
+
proc.kill("SIGTERM");
|
|
335
|
+
stderr += "\nCommand timed out";
|
|
336
|
+
cleanup(124); // Standard timeout exit code
|
|
337
|
+
}
|
|
338
|
+
}, timeout);
|
|
339
|
+
});
|
|
340
|
+
}
|
|
247
341
|
startHeartbeat() {
|
|
248
342
|
this.heartbeatInterval = setInterval(async () => {
|
|
249
|
-
if (this.connectionId) {
|
|
343
|
+
if (this.connectionId && !this.isShuttingDown) {
|
|
250
344
|
try {
|
|
251
345
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
252
346
|
const result = (await this.convex.mutation(api.localSandbox.heartbeat, {
|
|
347
|
+
token: this.config.token,
|
|
253
348
|
connectionId: this.connectionId,
|
|
254
349
|
}));
|
|
255
350
|
if (!result.success) {
|
|
256
|
-
console.log(chalk.
|
|
351
|
+
console.log(chalk.red("\nโ Connection invalidated (token may have been regenerated)"));
|
|
352
|
+
console.log(chalk.yellow("Shutting down..."));
|
|
353
|
+
await this.cleanup();
|
|
354
|
+
process.exit(1);
|
|
257
355
|
}
|
|
258
356
|
}
|
|
259
357
|
catch {
|
|
260
|
-
// Ignore heartbeat errors
|
|
358
|
+
// Ignore transient heartbeat errors
|
|
261
359
|
}
|
|
262
360
|
}
|
|
263
|
-
},
|
|
361
|
+
}, 30000);
|
|
264
362
|
}
|
|
265
363
|
stopHeartbeat() {
|
|
266
364
|
if (this.heartbeatInterval) {
|
|
@@ -268,21 +366,22 @@ class LocalSandboxClient {
|
|
|
268
366
|
this.heartbeatInterval = undefined;
|
|
269
367
|
}
|
|
270
368
|
}
|
|
271
|
-
|
|
272
|
-
if (this.
|
|
273
|
-
|
|
274
|
-
this.
|
|
369
|
+
stopCommandSubscription() {
|
|
370
|
+
if (this.commandSubscription) {
|
|
371
|
+
this.commandSubscription();
|
|
372
|
+
this.commandSubscription = undefined;
|
|
275
373
|
}
|
|
276
374
|
}
|
|
277
375
|
async cleanup() {
|
|
278
376
|
console.log(chalk.blue("\n๐งน Cleaning up..."));
|
|
279
377
|
this.isShuttingDown = true;
|
|
280
378
|
this.stopHeartbeat();
|
|
281
|
-
this.
|
|
379
|
+
this.stopCommandSubscription();
|
|
282
380
|
if (this.connectionId) {
|
|
283
381
|
try {
|
|
284
382
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
285
383
|
await this.convex.mutation(api.localSandbox.disconnect, {
|
|
384
|
+
token: this.config.token,
|
|
286
385
|
connectionId: this.connectionId,
|
|
287
386
|
});
|
|
288
387
|
console.log(chalk.green("โ Disconnected"));
|
|
@@ -301,6 +400,8 @@ class LocalSandboxClient {
|
|
|
301
400
|
console.error(chalk.red("Error removing container:"), message);
|
|
302
401
|
}
|
|
303
402
|
}
|
|
403
|
+
// Close the Convex client to clean up WebSocket connection
|
|
404
|
+
await this.convex.close();
|
|
304
405
|
}
|
|
305
406
|
}
|
|
306
407
|
// Parse command-line arguments
|
|
@@ -343,8 +444,9 @@ ${chalk.cyan("Pre-built Image:")}
|
|
|
343
444
|
nikto, wpscan, subfinder, httpx, and 20+ more pentesting tools.
|
|
344
445
|
|
|
345
446
|
${chalk.red("โ ๏ธ Security Warning:")}
|
|
346
|
-
|
|
347
|
-
|
|
447
|
+
Docker mode provides process isolation but uses --network host for direct
|
|
448
|
+
network access (required for pentesting tools to scan network services).
|
|
449
|
+
In DANGEROUS mode, commands run directly on your OS without any isolation.
|
|
348
450
|
`);
|
|
349
451
|
process.exit(0);
|
|
350
452
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|