@hackerai/local 0.1.1 โ 0.1.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.
- package/README.md +10 -10
- package/dist/index.js +160 -58
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,14 +42,14 @@ npx @hackerai/local --token hsb_abc123 --name "Work PC" --dangerous
|
|
|
42
42
|
|
|
43
43
|
## Options
|
|
44
44
|
|
|
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`
|
|
45
|
+
| Option | Description |
|
|
46
|
+
| ------------------ | ------------------------------------------------------ |
|
|
47
|
+
| `--token TOKEN` | Authentication token from HackerAI Settings (required) |
|
|
48
|
+
| `--name NAME` | Connection name shown in HackerAI (default: hostname) |
|
|
49
|
+
| `--image IMAGE` | Docker image to use (default: hackerai/sandbox) |
|
|
50
|
+
| `--dangerous` | Run commands directly on host OS without Docker |
|
|
51
|
+
| `--convex-url URL` | Override backend URL (for development) |
|
|
52
|
+
| `--help, -h` | Show help message |
|
|
53
53
|
|
|
54
54
|
## Getting Your Token
|
|
55
55
|
|
|
@@ -59,8 +59,8 @@ npx @hackerai/local --token hsb_abc123 --name "Work PC" --dangerous
|
|
|
59
59
|
|
|
60
60
|
## Security
|
|
61
61
|
|
|
62
|
-
- **Docker Mode**: Commands run in
|
|
63
|
-
- **Dangerous Mode**: Commands run directly on your OS - use with caution
|
|
62
|
+
- **Docker Mode**: Commands run in a container with process isolation, but with direct host network access (`--network host`) so pentesting tools can scan and interact with network services
|
|
63
|
+
- **Dangerous Mode**: Commands run directly on your OS without any isolation - use with caution
|
|
64
64
|
|
|
65
65
|
## License
|
|
66
66
|
|
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..."));
|
|
@@ -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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"}
|