cbrowser 19.4.2 → 19.4.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/dist/cli.js +72 -26
- package/dist/cli.js.map +1 -1
- package/dist/daemon.d.ts +8 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +122 -24
- package/dist/daemon.js.map +1 -1
- package/package.json +1 -1
package/dist/daemon.d.ts
CHANGED
|
@@ -9,6 +9,14 @@ interface DaemonState {
|
|
|
9
9
|
port: number;
|
|
10
10
|
startedAt: string;
|
|
11
11
|
lastActivity: string;
|
|
12
|
+
/**
|
|
13
|
+
* Required (X-CBrowser-Daemon-Token) on /command and /shutdown. The daemon had no
|
|
14
|
+
* authentication and reflected any Origin with credentials, so any local user, or
|
|
15
|
+
* any web page open on the machine, could drive it: navigate to a file:// URL and
|
|
16
|
+
* extract it, write a screenshot anywhere the daemon user can. The state file is
|
|
17
|
+
* 0600, so only the daemon's own user can read the token. (2026-10-12)
|
|
18
|
+
*/
|
|
19
|
+
token?: string;
|
|
12
20
|
}
|
|
13
21
|
interface DaemonResponse {
|
|
14
22
|
success: boolean;
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyBH,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAMzE,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,UAAU,cAAc;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAkBD;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAYnD;AAqDD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAYxD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAuB/G;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,GAAE,MAAqB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC7G;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCjF;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBvD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,GAAE,MAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgbjH"}
|
package/dist/daemon.js
CHANGED
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
* instead of launching a new browser.
|
|
18
18
|
*/
|
|
19
19
|
import { createServer } from "http";
|
|
20
|
-
import { existsSync, readFileSync, writeFileSync, unlinkSync, createWriteStream } from "fs";
|
|
20
|
+
import { existsSync, readFileSync, writeFileSync, unlinkSync, createWriteStream, renameSync } from "fs";
|
|
21
|
+
import { createHmac, randomBytes, timingSafeEqual } from "crypto";
|
|
21
22
|
import { join } from "path";
|
|
22
23
|
import { spawn } from "child_process";
|
|
23
24
|
import { VideoCaptureSession } from "./recording/engine.js";
|
|
@@ -27,6 +28,7 @@ import { getPaths, mergeConfig } from "./config.js";
|
|
|
27
28
|
import { evaluateScriptRefusal } from "./security/script-gate.js";
|
|
28
29
|
const DEFAULT_PORT = 9222;
|
|
29
30
|
const DAEMON_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes idle timeout
|
|
31
|
+
const TOKEN_HEADER = "x-cbrowser-daemon-token";
|
|
30
32
|
/**
|
|
31
33
|
* Get the daemon state file path
|
|
32
34
|
*/
|
|
@@ -63,7 +65,12 @@ export function getDaemonState() {
|
|
|
63
65
|
*/
|
|
64
66
|
function writeDaemonState(state) {
|
|
65
67
|
const statePath = getDaemonStatePath();
|
|
66
|
-
|
|
68
|
+
// A new file, created 0600 and exclusive, then renamed over the old one: writing
|
|
69
|
+
// the token into an existing file and chmod-ing afterwards left it readable at the
|
|
70
|
+
// old mode in between. rename replaces a symlink, it does not follow it.
|
|
71
|
+
const tmp = `${statePath}.${process.pid}.${randomBytes(6).toString("hex")}.tmp`;
|
|
72
|
+
writeFileSync(tmp, JSON.stringify(state, null, 2), { mode: 0o600, flag: "wx" });
|
|
73
|
+
renameSync(tmp, statePath);
|
|
67
74
|
}
|
|
68
75
|
/**
|
|
69
76
|
* Clear daemon state file
|
|
@@ -74,6 +81,35 @@ function clearDaemonState() {
|
|
|
74
81
|
unlinkSync(statePath);
|
|
75
82
|
}
|
|
76
83
|
}
|
|
84
|
+
const proofFor = (token, nonce) => createHmac("sha256", token).update(nonce).digest("hex");
|
|
85
|
+
/**
|
|
86
|
+
* Does the process on the recorded port hold this state file's token? It must answer
|
|
87
|
+
* a fresh nonce with HMAC(token, nonce) before the client sends it anything. If the
|
|
88
|
+
* daemon died and another local user bound the port, a client that trusted /ping
|
|
89
|
+
* handed that process the token and obeyed its answers (e.g. HAR content written to
|
|
90
|
+
* a path the user chose). (2026-10-12)
|
|
91
|
+
*/
|
|
92
|
+
async function verifyDaemon(state, timeoutMs = 1000) {
|
|
93
|
+
if (!state.token)
|
|
94
|
+
return "impostor";
|
|
95
|
+
const nonce = randomBytes(16).toString("hex");
|
|
96
|
+
let proof;
|
|
97
|
+
try {
|
|
98
|
+
const response = await fetch(`http://127.0.0.1:${state.port}/ping?nonce=${nonce}`, {
|
|
99
|
+
method: "GET",
|
|
100
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
101
|
+
});
|
|
102
|
+
if (!response.ok)
|
|
103
|
+
return "impostor";
|
|
104
|
+
proof = (await response.json()).proof;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return "unreachable";
|
|
108
|
+
}
|
|
109
|
+
const expected = proofFor(state.token, nonce);
|
|
110
|
+
return typeof proof === "string" && proof.length === expected.length &&
|
|
111
|
+
timingSafeEqual(Buffer.from(proof), Buffer.from(expected)) ? "verified" : "impostor";
|
|
112
|
+
}
|
|
77
113
|
/**
|
|
78
114
|
* Check if daemon is running
|
|
79
115
|
*/
|
|
@@ -82,19 +118,13 @@ export async function isDaemonRunning() {
|
|
|
82
118
|
if (!state) {
|
|
83
119
|
return false;
|
|
84
120
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
method: "GET",
|
|
89
|
-
signal: AbortSignal.timeout(1000),
|
|
90
|
-
});
|
|
91
|
-
return response.ok;
|
|
92
|
-
}
|
|
93
|
-
catch (e) {
|
|
94
|
-
console.debug(`[CBrowser] Daemon not responding, cleaning up stale state: ${e.message}`);
|
|
121
|
+
const v = await verifyDaemon(state);
|
|
122
|
+
if (v !== "verified") {
|
|
123
|
+
console.debug(`[CBrowser] Daemon on port ${state.port} ${v === "unreachable" ? "not responding" : "did not prove it holds the token"}; cleaning up stale state`);
|
|
95
124
|
clearDaemonState();
|
|
96
125
|
return false;
|
|
97
126
|
}
|
|
127
|
+
return true;
|
|
98
128
|
}
|
|
99
129
|
/**
|
|
100
130
|
* Send a command to the running daemon
|
|
@@ -104,10 +134,14 @@ export async function sendToDaemon(command, args = {}) {
|
|
|
104
134
|
if (!state) {
|
|
105
135
|
return { success: false, error: "Daemon not running" };
|
|
106
136
|
}
|
|
137
|
+
const v = await verifyDaemon(state, 5000);
|
|
138
|
+
if (v !== "verified") {
|
|
139
|
+
return { success: false, error: v === "unreachable" ? "Daemon not responding" : `The process on port ${state.port} did not prove it is this daemon; nothing was sent` };
|
|
140
|
+
}
|
|
107
141
|
try {
|
|
108
142
|
const response = await fetch(`http://127.0.0.1:${state.port}/command`, {
|
|
109
143
|
method: "POST",
|
|
110
|
-
headers: { "Content-Type": "application/json" },
|
|
144
|
+
headers: { "Content-Type": "application/json", [TOKEN_HEADER]: state.token ?? "" },
|
|
111
145
|
body: JSON.stringify({ command, args }),
|
|
112
146
|
signal: AbortSignal.timeout(120000), // 2 minute timeout for commands
|
|
113
147
|
});
|
|
@@ -159,17 +193,30 @@ export async function stopDaemon() {
|
|
|
159
193
|
return { success: true, message: "Daemon not running" };
|
|
160
194
|
}
|
|
161
195
|
try {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
196
|
+
const v = await verifyDaemon(state, 5000);
|
|
197
|
+
if (v === "verified") {
|
|
198
|
+
await fetch(`http://127.0.0.1:${state.port}/shutdown`, {
|
|
199
|
+
method: "POST",
|
|
200
|
+
headers: { [TOKEN_HEADER]: state.token ?? "" },
|
|
201
|
+
signal: AbortSignal.timeout(5000),
|
|
202
|
+
}).catch(() => { });
|
|
203
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
204
|
+
}
|
|
205
|
+
// Force kill if still running - but only a process that is this daemon (verified,
|
|
206
|
+
// or /proc names a cbrowser daemon). An unverified state file's pid may by now
|
|
207
|
+
// belong to anything, and a root CLI could signal any process.
|
|
170
208
|
try {
|
|
171
209
|
process.kill(state.pid, 0); // Check if process exists
|
|
172
|
-
|
|
210
|
+
let isDaemon = v === "verified";
|
|
211
|
+
if (!isDaemon) {
|
|
212
|
+
try {
|
|
213
|
+
const cmd = readFileSync(`/proc/${state.pid}/cmdline`, "utf-8").replace(/\0/g, " ");
|
|
214
|
+
isDaemon = /cbrowser|cli\.(js|ts)/.test(cmd) && /\bdaemon\b/.test(cmd);
|
|
215
|
+
}
|
|
216
|
+
catch { /* no /proc: do not guess */ }
|
|
217
|
+
}
|
|
218
|
+
if (isDaemon)
|
|
219
|
+
process.kill(state.pid, "SIGTERM");
|
|
173
220
|
}
|
|
174
221
|
catch {
|
|
175
222
|
// Process already gone
|
|
@@ -236,6 +283,12 @@ export async function runDaemonServer(config, port = DEFAULT_PORT) {
|
|
|
236
283
|
// `navigate` calls hit the same browser, so their effects land in the frames.
|
|
237
284
|
let capture = null;
|
|
238
285
|
let captureResult = null;
|
|
286
|
+
/**
|
|
287
|
+
* HAR recording lives in the daemon's browser, the only one that outlives a CLI
|
|
288
|
+
* command. Recorded in a client process, `har start` / navigate / `har stop`
|
|
289
|
+
* were three processes and the HAR came back empty (2026-10-12).
|
|
290
|
+
*/
|
|
291
|
+
let harRecording = false;
|
|
239
292
|
/**
|
|
240
293
|
* Ceiling on a single command. A wedged command used to present as an
|
|
241
294
|
* indefinite silence on the client; now it comes back as an error naming the
|
|
@@ -373,6 +426,31 @@ export async function runDaemonServer(config, port = DEFAULT_PORT) {
|
|
|
373
426
|
}, { src: req.args.body, a: req.args.args ?? [] });
|
|
374
427
|
return { success: true, result, zone: "red" };
|
|
375
428
|
}
|
|
429
|
+
// The request log, like a HAR, is only meaningful in the browser that
|
|
430
|
+
// outlives commands. (2026-10-12)
|
|
431
|
+
case "networkList": {
|
|
432
|
+
return { success: true, result: { requests: b.getNetworkRequests() } };
|
|
433
|
+
}
|
|
434
|
+
case "networkClear": {
|
|
435
|
+
b.clearNetworkHistory();
|
|
436
|
+
return { success: true, result: { cleared: true } };
|
|
437
|
+
}
|
|
438
|
+
case "harStart": {
|
|
439
|
+
b.startHarRecording();
|
|
440
|
+
harRecording = true;
|
|
441
|
+
return { success: true, result: { recording: true } };
|
|
442
|
+
}
|
|
443
|
+
case "harStop": {
|
|
444
|
+
if (!harRecording) {
|
|
445
|
+
return { success: false, error: "No HAR recording is running in the daemon; run 'cbrowser har start' first" };
|
|
446
|
+
}
|
|
447
|
+
// Written to the daemon's own har directory only, and handed back: the
|
|
448
|
+
// client writes any path it wants with its own permissions. A client path
|
|
449
|
+
// here would let a command write anywhere the daemon user can.
|
|
450
|
+
const file = await b.exportHar();
|
|
451
|
+
harRecording = false;
|
|
452
|
+
return { success: true, result: { file, har: readFileSync(file, "utf-8") } };
|
|
453
|
+
}
|
|
376
454
|
case "captureStart": {
|
|
377
455
|
if (capture && capture.status().state === "recording") {
|
|
378
456
|
return {
|
|
@@ -460,6 +538,17 @@ export async function runDaemonServer(config, port = DEFAULT_PORT) {
|
|
|
460
538
|
clearTimeout(timer);
|
|
461
539
|
}
|
|
462
540
|
};
|
|
541
|
+
const token = randomBytes(32).toString("hex");
|
|
542
|
+
const authorized = (req) => {
|
|
543
|
+
const got = req.headers[TOKEN_HEADER];
|
|
544
|
+
if (typeof got !== "string" || got.length !== token.length)
|
|
545
|
+
return false;
|
|
546
|
+
return timingSafeEqual(Buffer.from(got), Buffer.from(token));
|
|
547
|
+
};
|
|
548
|
+
const refuse = (res) => {
|
|
549
|
+
res.writeHead(401, { "Content-Type": "application/json" });
|
|
550
|
+
res.end(JSON.stringify({ success: false, error: "unauthorized: this daemon only accepts its own CLI (token in its state file)" }));
|
|
551
|
+
};
|
|
463
552
|
const server = createServer(async (req, res) => {
|
|
464
553
|
// CORS headers - use request origin instead of wildcard
|
|
465
554
|
const origin = req.headers.origin;
|
|
@@ -474,18 +563,26 @@ export async function runDaemonServer(config, port = DEFAULT_PORT) {
|
|
|
474
563
|
res.end();
|
|
475
564
|
return;
|
|
476
565
|
}
|
|
477
|
-
if (req.url
|
|
566
|
+
if (req.url?.startsWith("/ping") && req.method === "GET") {
|
|
567
|
+
// With ?nonce=, prove this daemon holds the token: HMAC(token, nonce). The
|
|
568
|
+
// client checks it before it sends the token or trusts an answer.
|
|
569
|
+
const nonce = new URL(req.url, "http://127.0.0.1").searchParams.get("nonce");
|
|
570
|
+
const proof = nonce && /^[0-9a-f]{16,128}$/.test(nonce) ? proofFor(token, nonce) : undefined;
|
|
478
571
|
res.writeHead(200, { "Content-Type": "application/json" });
|
|
479
|
-
res.end(JSON.stringify({ status: "ok", uptime: process.uptime() }));
|
|
572
|
+
res.end(JSON.stringify({ status: "ok", uptime: process.uptime(), ...(proof ? { proof } : {}) }));
|
|
480
573
|
return;
|
|
481
574
|
}
|
|
482
575
|
if (req.url === "/shutdown" && req.method === "POST") {
|
|
576
|
+
if (!authorized(req))
|
|
577
|
+
return refuse(res);
|
|
483
578
|
res.writeHead(200, { "Content-Type": "application/json" });
|
|
484
579
|
res.end(JSON.stringify({ status: "shutting down" }));
|
|
485
580
|
await shutdown();
|
|
486
581
|
return;
|
|
487
582
|
}
|
|
488
583
|
if (req.url === "/command" && req.method === "POST") {
|
|
584
|
+
if (!authorized(req))
|
|
585
|
+
return refuse(res);
|
|
489
586
|
// Cap body size to 10 MB. Without this, a malicious or buggy client
|
|
490
587
|
// can stream gigabytes into memory and OOM the daemon.
|
|
491
588
|
const MAX_BODY_SIZE = 10 * 1024 * 1024;
|
|
@@ -543,6 +640,7 @@ export async function runDaemonServer(config, port = DEFAULT_PORT) {
|
|
|
543
640
|
port,
|
|
544
641
|
startedAt: new Date().toISOString(),
|
|
545
642
|
lastActivity: new Date().toISOString(),
|
|
643
|
+
token,
|
|
546
644
|
};
|
|
547
645
|
writeDaemonState(state);
|
|
548
646
|
console.log(`[${new Date().toISOString()}] CBrowser daemon started on port ${port} (PID: ${process.pid})`);
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cbrowser",
|
|
3
|
-
"version": "19.4.
|
|
3
|
+
"version": "19.4.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Cognitive browser automation that thinks like your users—and helps AI agents navigate too. Simulate real user cognition with abandonment detection, constitutional safety, chaos engineering, and UX friction discovery. Sites that pass CBrowser's cognitive tests are easier for both humans and AI agents to navigate.",
|
|
6
6
|
"main": "dist/index.js",
|