mcp-accessibility-scanner 3.2.0 → 3.3.1

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 (42) hide show
  1. package/README.md +4 -1
  2. package/lib/browserSessions.js +2 -0
  3. package/lib/browserSessions.js.map +1 -1
  4. package/lib/config.js +4 -2
  5. package/lib/config.js.map +1 -1
  6. package/lib/extension/browserModel.js +166 -13
  7. package/lib/extension/browserModel.js.map +1 -1
  8. package/lib/extension/cdpRelay.js +48 -2
  9. package/lib/extension/cdpRelay.js.map +1 -1
  10. package/lib/mcp/http.js +1 -1
  11. package/lib/mcp/http.js.map +1 -1
  12. package/lib/mcp/manualPromise.js +1 -0
  13. package/lib/mcp/manualPromise.js.map +1 -1
  14. package/lib/mcp/tool.js +1 -0
  15. package/lib/mcp/tool.js.map +1 -1
  16. package/lib/mcp/toolListChanged.js +1 -0
  17. package/lib/mcp/toolListChanged.js.map +1 -1
  18. package/lib/tab.js +5 -6
  19. package/lib/tab.js.map +1 -1
  20. package/lib/tools/auditKeyboard.js +3 -2
  21. package/lib/tools/auditKeyboard.js.map +1 -1
  22. package/lib/tools/auditScreenReader.js +248 -17
  23. package/lib/tools/auditScreenReader.js.map +1 -1
  24. package/lib/tools/axe.js +80 -19
  25. package/lib/tools/axe.js.map +1 -1
  26. package/lib/tools/dialogs.js +4 -6
  27. package/lib/tools/dialogs.js.map +1 -1
  28. package/lib/tools/evaluate.js +2 -0
  29. package/lib/tools/evaluate.js.map +1 -1
  30. package/lib/tools.js +1 -0
  31. package/lib/tools.js.map +1 -1
  32. package/lib/utils/dataUrl.js +1 -0
  33. package/lib/utils/dataUrl.js.map +1 -1
  34. package/lib/utils/fileUtils.js +0 -14
  35. package/lib/utils/fileUtils.js.map +1 -1
  36. package/lib/utils/jsSource.js +1 -1
  37. package/lib/utils/jsSource.js.map +1 -1
  38. package/lib/vscode/host.js +1 -0
  39. package/lib/vscode/host.js.map +1 -1
  40. package/package.json +14 -15
  41. package/lib/mcp/mdb.js +0 -198
  42. package/lib/mcp/mdb.js.map +0 -1
package/README.md CHANGED
@@ -262,7 +262,7 @@ This works out of the box in every mode, including the default persistent-profil
262
262
  Record a session once with Playwright's codegen, then hand the file to the server:
263
263
 
264
264
  ```bash
265
- npx playwright@1.62.1 codegen --save-storage=auth.json https://example.com/login
265
+ npx playwright@1.63.0-alpha-2026-08-22 codegen --save-storage=auth.json https://example.com/login
266
266
  ```
267
267
 
268
268
  Sign in in the opened browser, then close it — `auth.json` now holds the cookies and local storage.
@@ -462,6 +462,8 @@ Audits what a screen reader actually announces, using the browser's own accessib
462
462
  - Findings for names overlap with axe rules such as `link-name`, `button-name` and `image-alt`; this tool adds the quality checks (generic names, file names, label-in-name, duplicates) that axe cannot make.
463
463
  - It reports the page as currently rendered. Content behind a collapsed panel or another viewport is judged in that state.
464
464
 
465
+ **How names are measured:** the AI snapshot omits a name that a control's rendered children carry (`<a><strong>Docs</strong></a>`, a button whose label sits in a `<span>`), so the audit installs its own copy of axe-core in each frame it measures and takes the accessible name axe computes there. The page's own `window.axe`, if any, is left as it was. Installing is bounded (10 s for the main frame, 1 s per child frame). A frame that refuses the copy (a blocking CSP, a page that removes it) is measured without names. The result says so: a `WARNING: accessible names could not be measured for N of these` line, `elementsWithoutMeasuredName` in the structured summary, and `elements.unmeasuredNames` in the JSON report. In those frames the snapshot's own names stand, so a `missing-accessible-name` finding for a control named only through its children may be a false positive; treat the name findings of a run with a non-zero count as partial and confirm them by hand. A frame that times out or stops answering is not evaluated by any check: its elements are counted as `unresolved` (with their own warning), and if that leaves nothing evaluated the audit fails rather than report a clean page. Every read of a frame is bounded by the same budgets (10 s main frame, 1 s child frame; the lookup that tells which frame owns an element gets the larger one), so a frame that stops answering cannot hold the audit open. At most four frame operations per page stay in flight across overlapping audits; if four timed-out operations are still running, no more frame work starts and the result says where measurement stopped.
466
+
465
467
  **Bounds:** `maxElements` (default 400) caps how many *screen-reader-reachable* accessibility tree elements are analyzed. The snapshot also refs `aria-hidden` subtrees, which no check reports, so measuring continues past them until the budget is filled with reachable elements (up to a hard ceiling of twice `maxElements` measured, so a page built mostly of hidden refs stays bounded). `maxFindingsPerCheck` (default 20) caps the findings listed per check. Both truncations are stated in the summary and the JSON report, and the full counts are always reported. Always writes a JSON report (default filename: `audit-screen-reader-{timestamp}-{token}.json`).
466
468
 
467
469
  **Example flow:**
@@ -494,6 +496,7 @@ Set default operation timeout for existing tabs.
494
496
  #### `browser_snapshot`
495
497
  Capture accessibility snapshot of the current page (better than screenshot for analysis).
496
498
  Large `data:` URL payloads in snapshot output are truncated to their media type prefix.
499
+ AI snapshots mark a visually present subtree excluded from accessibility queries with `[aria-hidden]` on its boundary element. Descendants are not marked again.
497
500
  - Parameters: `compress` (optional boolean, default false)
498
501
  - When true, repeated non-interactive ARIA snapshot nodes are collapsed in the rendered response when a repeated structural pattern appears more than 100 times. The first 10 examples of each collapsed pattern are kept.
499
502
  - Use `browser_evaluate()` to retrieve the full uncompressed list when needed.
@@ -21,6 +21,8 @@ const defaultSessionTtlMs = 30 * 60 * 1000;
21
21
  * `PLAYWRIGHT_MCP_BROWSER_SESSION_TTL_MS`; a present-but-blank or unparsable
22
22
  * value keeps the default rather than becoming 0, and a zero or negative
23
23
  * value disables reaping entirely.
24
+ *
25
+ * @public
24
26
  */
25
27
  export function browserSessionTtlMs() {
26
28
  const value = process.env.PLAYWRIGHT_MCP_BROWSER_SESSION_TTL_MS;
@@ -1 +1 @@
1
- {"version":3,"file":"browserSessions.js","sourceRoot":"","sources":["../src/browserSessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browserSessions.js","sourceRoot":"","sources":["../src/browserSessions.ts"],"names":[],"mappings":"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"}
package/lib/config.js CHANGED
@@ -98,7 +98,7 @@ function applyMobileConfig(resolved, configInFile, envOverrides, cliOverrides, e
98
98
  const mobileOverride = { browser: { contextOptions: devices[device] } };
99
99
  return mergeCLIConfigSources(configInFile, envOverrides, cliOverrides, mobileOverride, source);
100
100
  }
101
- export function configFromCLIOptions(cliOptions) {
101
+ function configFromCLIOptions(cliOptions) {
102
102
  let browserName;
103
103
  let channel;
104
104
  switch (cliOptions.browser) {
@@ -341,7 +341,7 @@ export function commaSeparatedList(value) {
341
341
  * empties. Used for `PLAYWRIGHT_MCP_CDP_HEADERS` so that commas inside header
342
342
  * values (e.g. `Forwarded: for=a, for=b`) are preserved.
343
343
  */
344
- export function newlineSeparatedList(value) {
344
+ function newlineSeparatedList(value) {
345
345
  if (!value)
346
346
  return undefined;
347
347
  const entries = value.split('\n').map(v => v.trim()).filter(Boolean);
@@ -352,6 +352,8 @@ export function newlineSeparatedList(value) {
352
352
  * newline-separated `PLAYWRIGHT_MCP_CDP_HEADERS` env var) into a header map.
353
353
  * Only the first colon is treated as the name/value separator, so colons inside
354
354
  * the value are preserved.
355
+ *
356
+ * @public
355
357
  */
356
358
  export function parseCdpHeaders(entries) {
357
359
  if (!entries || !entries.length)
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { logUnhandledError } from '../utils/log.js';
17
+ // A detach that cancels an in-flight attach is recoverable, not a failure:
18
+ // the extension replays chrome.tabs.onCreated for the tab, which starts a
19
+ // fresh attachment. Auto-attach must not fail its initialization over it.
20
+ class TabDetachedWhileAttachingError extends Error {
21
+ }
17
22
  export class BrowserModel {
18
23
  _connectPagePrefix;
19
24
  _sendToExtension;
@@ -21,6 +26,18 @@ export class BrowserModel {
21
26
  _knownTabs = new Map();
22
27
  _tabSessions = new Map();
23
28
  _tabAttachmentPromises = new Map();
29
+ // Every attempt from start to settlement. A detach cancels an attempt by
30
+ // removing it from _tabAttachmentPromises before it settles, so that map
31
+ // understates what is still running; the disable barrier drains this set.
32
+ _inFlightAttachAttempts = new Set();
33
+ // onDetach events owed per tab for attachments that provably ended before
34
+ // their event was processed. chrome.debugger.onDetach names only the tab,
35
+ // so this is how an event is matched to the attachment it ends.
36
+ _pendingStaleDetaches = new Map();
37
+ // Undo detaches issued for abandoned attempts, until they settle. The
38
+ // disable barrier promises nothing in flight when it resolves, and these
39
+ // are in flight without being attempts.
40
+ _pendingUndoDetaches = new Set();
24
41
  _autoAttachOperation = Promise.resolve();
25
42
  _autoAttach = false;
26
43
  _nextSessionId = 1;
@@ -43,6 +60,7 @@ export class BrowserModel {
43
60
  }
44
61
  onTabRemoved(tabId) {
45
62
  this._knownTabs.delete(tabId);
63
+ this._pendingStaleDetaches.delete(tabId);
46
64
  this._detachTab(tabId);
47
65
  }
48
66
  onDebuggerEvent(source, method, params) {
@@ -59,19 +77,66 @@ export class BrowserModel {
59
77
  this._emit({ sessionId: source.sessionId || tabSession.sessionId, method, params });
60
78
  }
61
79
  onDebuggerDetach(source) {
62
- if (source.tabId !== undefined)
63
- this._detachTab(source.tabId);
80
+ if (source.tabId === undefined)
81
+ return;
82
+ const staleDetaches = this._pendingStaleDetaches.get(source.tabId);
83
+ if (staleDetaches) {
84
+ // This event ends an attachment that a later attach already replaced —
85
+ // the attach could not have succeeded while it was alive. The current
86
+ // attachment is untouched by it.
87
+ if (staleDetaches === 1)
88
+ this._pendingStaleDetaches.delete(source.tabId);
89
+ else
90
+ this._pendingStaleDetaches.set(source.tabId, staleDetaches - 1);
91
+ return;
92
+ }
93
+ this._detachTab(source.tabId);
64
94
  }
65
95
  enableAutoAttach() {
66
96
  return this._runAutoAttachOperation(async () => {
67
97
  this._autoAttach = true;
68
- await Promise.all([...this._knownTabs.keys()].map(tabId => this._attachTab(tabId)));
98
+ const attachIgnoringCancellation = async (tabId) => {
99
+ try {
100
+ await this._attachTab(tabId);
101
+ }
102
+ catch (error) {
103
+ if (!(error instanceof TabDetachedWhileAttachingError))
104
+ throw error;
105
+ }
106
+ };
107
+ await Promise.all([...this._knownTabs.keys()].map(async (tabId) => {
108
+ try {
109
+ await attachIgnoringCancellation(tabId);
110
+ }
111
+ catch (firstError) {
112
+ // The failed command can be the detach itself, answered ahead of the
113
+ // onDetach event that would have marked the attempt stale. Retrying
114
+ // separates that from a tab that genuinely cannot be attached,
115
+ // without matching on Chrome's error text, which is not a contract.
116
+ try {
117
+ await attachIgnoringCancellation(tabId);
118
+ }
119
+ catch (retryError) {
120
+ // A first attempt that failed after chrome.debugger.attach had
121
+ // succeeded leaves the debugger attached, so the retry reports
122
+ // "Another debugger is already attached" rather than the reason
123
+ // anyone needs. The relay forwards only Error.message, which never
124
+ // carries a cause, so name both failures in the message itself.
125
+ throw new Error(`Failed to attach tab ${tabId}: ${retryError} (first attempt: ${firstError})`, { cause: firstError });
126
+ }
127
+ }
128
+ }));
69
129
  });
70
130
  }
71
131
  disableAutoAttach() {
72
132
  return this._runAutoAttachOperation(async () => {
73
133
  this._autoAttach = false;
74
- await Promise.allSettled(this._tabAttachmentPromises.values());
134
+ // An attempt can register while we wait — a retry replacing a cancelled
135
+ // attempt registers only once the original settles, which is exactly
136
+ // when a one-shot snapshot stops waiting — so drain until nothing is in
137
+ // flight rather than awaiting a snapshot.
138
+ while (this._inFlightAttachAttempts.size || this._pendingUndoDetaches.size)
139
+ await Promise.allSettled([...this._inFlightAttachAttempts, ...this._pendingUndoDetaches]);
75
140
  await Promise.all([...this._tabSessions.keys()].map(async (tabId) => {
76
141
  await this._sendToExtension('chrome.debugger.detach', [{ tabId }]);
77
142
  this._detachTab(tabId);
@@ -83,7 +148,26 @@ export class BrowserModel {
83
148
  if (tab?.id === undefined)
84
149
  throw new Error('Failed to create tab');
85
150
  this._knownTabs.set(tab.id, tab);
86
- const tabSession = await this._attachTab(tab.id);
151
+ // A failed attach of the tab we just made can be a detach either way it
152
+ // arrives: classified as a cancellation, or answered ahead of the onDetach
153
+ // event that would have marked the attempt stale. Retry once rather than
154
+ // failing the command, on the same terms as auto-attach — the tab is still
155
+ // there, so the second attempt either attaches or fails with why it is
156
+ // really gone. Do not wait for the extension to replay the tab instead: it
157
+ // schedules a replay only for an involuntary detach, so a voluntary one
158
+ // would wait forever.
159
+ const tabSession = await this._attachTab(tab.id).catch(async (firstError) => {
160
+ try {
161
+ return await this._attachTab(tab.id);
162
+ }
163
+ catch (retryError) {
164
+ // The first attempt may have left the debugger attached, so the retry
165
+ // reports "Another debugger is already attached" rather than the reason
166
+ // anyone needs. The relay forwards only Error.message, which never
167
+ // carries a cause, so name both failures in the message itself.
168
+ throw new Error(`Failed to attach tab ${tab.id}: ${retryError} (first attempt: ${firstError})`, { cause: firstError });
169
+ }
170
+ });
87
171
  if (this._connectPagePrefix) {
88
172
  const connectPagePrefix = this._connectPagePrefix;
89
173
  await Promise.allSettled([...this._knownTabs]
@@ -138,24 +222,75 @@ export class BrowserModel {
138
222
  const inFlight = this._tabAttachmentPromises.get(tabId);
139
223
  if (inFlight)
140
224
  return inFlight;
141
- const promise = Promise.resolve().then(() => this._attachTabImpl(tabId));
225
+ const promise = Promise.resolve().then(() => this._attachTabImpl(tabId, () => this._tabAttachmentPromises.get(tabId) === promise));
142
226
  this._tabAttachmentPromises.set(tabId, promise);
143
- return promise.finally(() => {
227
+ // The barrier tracks the promise callers hold, not the raw attempt: a
228
+ // caller's catch is attached to it before any drain can be, so a retry it
229
+ // registers is always in the set by the time the drain re-checks.
230
+ const settled = promise.finally(() => {
231
+ this._inFlightAttachAttempts.delete(settled);
144
232
  if (this._tabAttachmentPromises.get(tabId) === promise)
145
233
  this._tabAttachmentPromises.delete(tabId);
146
234
  });
235
+ this._inFlightAttachAttempts.add(settled);
236
+ return settled;
147
237
  }
148
238
  _runAutoAttachOperation(operation) {
149
239
  const result = this._autoAttachOperation.then(operation);
150
240
  this._autoAttachOperation = result.catch(() => { });
151
241
  return result;
152
242
  }
153
- async _attachTabImpl(tabId) {
154
- await this._sendToExtension('chrome.debugger.attach', [{ tabId }, '1.3']);
155
- const result = await this._sendToExtension('chrome.debugger.sendCommand', [
156
- { tabId },
157
- 'Target.getTargetInfo',
158
- ]);
243
+ async _attachTabImpl(tabId, isCurrentAttempt) {
244
+ // A detach can land anywhere below, either because the tab went away or
245
+ // because Chrome force-detached the debugger. Both a call that fails
246
+ // because of it and a reply that arrives after it are that cancellation,
247
+ // not an attach failure: installing the session would hide a dead debuggee
248
+ // behind a live-looking one and short-circuit the re-attach the extension
249
+ // is about to ask for.
250
+ let debuggerAttached = false;
251
+ let result;
252
+ try {
253
+ await this._sendToExtension('chrome.debugger.attach', [{ tabId }, '1.3']);
254
+ debuggerAttached = true;
255
+ result = await this._sendToExtension('chrome.debugger.sendCommand', [
256
+ { tabId },
257
+ 'Target.getTargetInfo',
258
+ ]);
259
+ }
260
+ catch (error) {
261
+ if (!isCurrentAttempt())
262
+ throw this._abandonAttachAttempt(tabId, debuggerAttached);
263
+ if (debuggerAttached) {
264
+ try {
265
+ // The failure leaves no session behind but may leave the debugger
266
+ // attached, and a retry would then only ever report "Another
267
+ // debugger is already attached". Undo the attach before surfacing
268
+ // the failure, so a retry meets a detached tab.
269
+ await this._sendToExtension('chrome.debugger.detach', [{ tabId }]);
270
+ }
271
+ catch {
272
+ // Chrome refuses to detach a detached tab, so this failing means
273
+ // the original failure WAS the detach. Its onDetach may already
274
+ // have landed during this undo's round trip — the extension emits
275
+ // the event before the undo can reach it — in which case it was
276
+ // consumed as real and cancelled this attempt; owing it again
277
+ // would swallow the tab's next genuine detach.
278
+ if (!isCurrentAttempt())
279
+ throw this._abandonAttachAttempt(tabId, false);
280
+ // Still current: the event is outstanding and owed, and must not
281
+ // tear down whatever attachment exists when it arrives.
282
+ this._pendingStaleDetaches.set(tabId, (this._pendingStaleDetaches.get(tabId) ?? 0) + 1);
283
+ }
284
+ }
285
+ // A cancellation that lands during the undo — the tab closing, most
286
+ // likely — must surface as one: retrying the raw failure would attach
287
+ // a tab that is gone or no longer ours.
288
+ if (!isCurrentAttempt())
289
+ throw this._abandonAttachAttempt(tabId, false);
290
+ throw error;
291
+ }
292
+ if (!isCurrentAttempt())
293
+ throw this._abandonAttachAttempt(tabId, debuggerAttached);
159
294
  const targetInfo = result?.targetInfo;
160
295
  const sessionId = `pw-tab-${this._nextSessionId++}`;
161
296
  const tabSession = { tabId, sessionId, targetInfo, childSessions: new Set() };
@@ -170,7 +305,25 @@ export class BrowserModel {
170
305
  });
171
306
  return tabSession;
172
307
  }
308
+ _abandonAttachAttempt(tabId, debuggerAttached) {
309
+ // chrome.debugger.detach names only the tab, so once a replacement
310
+ // attempt or session owns it, the undo would end the replacement's
311
+ // attachment — and a detach we issue fires no onDetach to tell anyone.
312
+ const tabTakenOver = this._tabSessions.has(tabId) || this._tabAttachmentPromises.has(tabId);
313
+ if (debuggerAttached && !tabTakenOver) {
314
+ // This attempt attached the debugger but installs no session, so nothing
315
+ // would ever detach it and every later attach for the tab would fail
316
+ // with "Another debugger is already attached". Undo it.
317
+ const undo = this._sendToExtension('chrome.debugger.detach', [{ tabId }]).catch(() => {
318
+ // Already detached: the cancelling detach ended this attachment too.
319
+ });
320
+ this._pendingUndoDetaches.add(undo);
321
+ void undo.then(() => this._pendingUndoDetaches.delete(undo));
322
+ }
323
+ return new TabDetachedWhileAttachingError(`Tab ${tabId} was detached while attaching`);
324
+ }
173
325
  _detachTab(tabId) {
326
+ this._tabAttachmentPromises.delete(tabId);
174
327
  const tabSession = this._tabSessions.get(tabId);
175
328
  if (!tabSession)
176
329
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"browserModel.js","sourceRoot":"","sources":["../../src/extension/browserModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browserModel.js","sourceRoot":"","sources":["../../src/extension/browserModel.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ import http from 'node:http';
26
26
  import path from 'node:path';
27
27
  import debug from 'debug';
28
28
  import { WebSocket, WebSocketServer } from 'ws';
29
- import { httpAddressToString } from '../mcp/http.js';
29
+ import { httpAddressToString, parseAuthority } from '../mcp/http.js';
30
30
  import { logUnhandledError } from '../utils/log.js';
31
31
  import { ManualPromise } from '../mcp/manualPromise.js';
32
32
  import { ExtensionProtocolV2 } from './cdpRelayV2.js';
@@ -35,6 +35,35 @@ import * as protocol from './protocol.js';
35
35
  const coreBundle = (await import('playwright-core/lib/coreBundle')).default;
36
36
  const { registry } = coreBundle.registry;
37
37
  const debugLogger = debug('pw:mcp:relay');
38
+ // The relay only ever bridges the local Playwright client and a Chrome
39
+ // extension over loopback, so its upgrade allowlist is loopback-only —
40
+ // deliberately narrower than the HTTP transport's server-derived allowlist,
41
+ // which widens to a non-loopback bind address. parseAuthority collapses every
42
+ // 127.0.0.0/8 address and *.localhost name onto these three.
43
+ const LOOPBACK_HOSTNAMES = new Set(['localhost', '::1', '127.0.0.1']);
44
+ // Guards the relay WebSocket upgrade. A cross-origin web page can open a
45
+ // WebSocket to a loopback port, so path secrecy alone is not enough: reject a
46
+ // Host header that is not loopback (DNS rebinding) and any http/https Origin (a
47
+ // web page). The local Playwright client sends no Origin and the extension
48
+ // sends a chrome-extension:// Origin, both of which pass.
49
+ function validateUpgradeRequest(request) {
50
+ const hostHeader = request.headers.host;
51
+ const host = typeof hostHeader === 'string' ? parseAuthority(hostHeader) : undefined;
52
+ if (!host || !LOOPBACK_HOSTNAMES.has(host.hostname))
53
+ return { statusCode: 403, message: 'Forbidden Host header' };
54
+ const originHeader = request.headers.origin;
55
+ if (originHeader === undefined)
56
+ return;
57
+ let origin;
58
+ try {
59
+ origin = new URL(originHeader);
60
+ }
61
+ catch {
62
+ return { statusCode: 400, message: 'Invalid Origin header' };
63
+ }
64
+ if (origin.protocol === 'http:' || origin.protocol === 'https:')
65
+ return { statusCode: 403, message: 'Forbidden Origin header' };
66
+ }
38
67
  export class CDPRelayServer {
39
68
  _server;
40
69
  _wsHost;
@@ -62,9 +91,25 @@ export class CDPRelayServer {
62
91
  connectPageUrl.searchParams.set('mcpRelayUrl', this.extensionEndpoint());
63
92
  this._connectPagePrefix = connectPageUrl.toString();
64
93
  this._resetExtensionConnection();
65
- this._wss = new WebSocketServer({ server });
94
+ // Own the upgrade handshake (noServer) so Host/Origin are validated before
95
+ // the socket is upgraded. The legitimate clients are the local Playwright
96
+ // CDP client (no Origin) and the Chrome extension (a chrome-extension://
97
+ // Origin); reject a non-loopback Host (DNS rebinding) or a web-page
98
+ // (http/https) Origin as defense-in-depth over the unguessable UUID paths.
99
+ this._wss = new WebSocketServer({ noServer: true });
66
100
  this._wss.on('connection', this._onConnection.bind(this));
101
+ this._server.on('upgrade', this._onUpgrade);
67
102
  }
103
+ _onUpgrade = (request, socket, head) => {
104
+ const rejection = validateUpgradeRequest(request);
105
+ if (rejection) {
106
+ debugLogger(`Rejecting upgrade: ${rejection.message}`);
107
+ socket.write(`HTTP/1.1 ${rejection.statusCode} ${rejection.message}\r\nConnection: close\r\nContent-Length: 0\r\n\r\n`);
108
+ socket.destroy();
109
+ return;
110
+ }
111
+ this._wss.handleUpgrade(request, socket, head, ws => this._wss.emit('connection', ws, request));
112
+ };
68
113
  cdpEndpoint() {
69
114
  return `${this._wsHost}${this._cdpPath}`;
70
115
  }
@@ -136,6 +181,7 @@ export class CDPRelayServer {
136
181
  }
137
182
  stop() {
138
183
  this.closeConnections('Server stopped');
184
+ this._server.removeListener('upgrade', this._onUpgrade);
139
185
  this._wss.close();
140
186
  // ws only closes the HTTP server it created itself; ours is passed in,
141
187
  // so close it explicitly or the relay port stays bound after stop().
@@ -1 +1 @@
1
- {"version":3,"file":"cdpRelay.js","sourceRoot":"","sources":["../../src/extension/cdpRelay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdpRelay.js","sourceRoot":"","sources":["../../src/extension/cdpRelay.ts"],"names":[],"mappings":"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"}
package/lib/mcp/http.js CHANGED
@@ -337,7 +337,7 @@ function validateRequestRouting(req) {
337
337
  if (requestPath !== '/mcp')
338
338
  return { statusCode: 404, message: 'Not found' };
339
339
  }
340
- function parseAuthority(authority) {
340
+ export function parseAuthority(authority) {
341
341
  try {
342
342
  const url = new URL(`http://${authority}`);
343
343
  const hostname = normalizeHostname(url.hostname);