Reported issues for perplexity-comet-mcp
Pod holds 9 of 9 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to perplexity-comet-mcp.
Most discussed
Comet Remote MCP Support
Is it possible to use windows comet as remote mcp server? I want to connect it via Linux n8n to Windows comet as comet is not supported on Linux boxes. So connecting comet as remote mcp server is the only choice left.
Please help!
Read the thread · 2026-01-18 · closed · external user · 11 comments
fix(security): strip fake BEGIN UNTRUSTED markers from page content
Problem
wrapUntrustedPageContent in src/index.ts strips [END UNTRUSTED nonce= from content to prevent fake closing markers, but does not strip [BEGIN UNTRUSTED PAGE CONTENT nonce= from content.
An attacker-controlled page could inject a fake opening marker inside the wrapped content to confuse downstream parsers that look for nested marker pairs.
Source: PR #17 review — https://github.com/RapierCraft/Perplexity-Comet-MCP/pull/17#issuecomment-4764326187
Confidence: CONF
Read the thread · 2026-06-22 · closed · external user · 8 comments
fix: validateSelector allowlist permits raw newlines via backslash-s (review finding — PR #32)
Problem
The validateSelector() function in src/upload-validator.ts:220 uses \s in its character allowlist, which matches raw newlines (\n) and carriage returns (\r) in addition to spaces and tabs. Raw newlines in a CSS selector are not valid CSS and could produce unexpected behavior in error messages that echo the selector (e.g., src/cdp-client.ts:1625: No element found matching selector: ${selector}).
Source: PR #32 — fix(security): validate selector parameter before DOM.
Read the thread · 2026-06-22 · closed · 7 comments
fix: http-bridge handleUpload missing selector validation at handler boundary (review finding — PR #32)
Problem
src/http-bridge.ts:607 passes a user-supplied selector directly to cometClient.uploadFile() without calling validateSelector() at the HTTP handler boundary. The cdp-client.ts inner guard (added in PR #32) fires and protects the CDP layer, but the HTTP bridge handler lacks the same tool-boundary defense-in-depth that src/index.ts received in PR #32.
Source: PR #32 — fix(security): validate selector parameter before DOM.querySelector Agent: General Security (SEC) *
Read the thread · 2026-06-22 · closed · 7 comments
fix: expand denylist to block /proc subtree (review finding — PR #28)
Problem
validateUploadPath() in src/upload-validator.ts blocks /proc/self/environ explicitly but does not block the broader /proc/ prefix, leaving /proc/self/maps (memory layout), /proc/self/fd/* (open file descriptors), and /proc/1/environ (root process environment) accessible.
Source: PR #28 — fix(security): address upload path validation vulnerabilities from PR #14 review Agent: Security Domain Confidence: POSSIBLE Severity: MEDIUM Review comment: https:
Read the thread · 2026-06-22 · closed · 7 comments
fix(security): validate selector parameter before DOM.querySelector
Problem
The selector parameter in comet_upload is passed through src/index.ts into cometClient.uploadFile(resolvedPath, selector) without any validation. Inside uploadFile in src/cdp-client.ts, the raw selector string is passed directly to client.DOM.querySelector({ selector }).
While CSS selectors are not a code execution surface, a pathologically long or deeply nested selector can cause the renderer to spend significant CPU time parsing — a denial-of-service against the Come
Read the thread · 2026-06-22 · closed · external user · 7 comments
fix(security): validate domain parameter in comet_tabs
Problem
The domain parameter accepted by comet_tabs (switch/close actions) in src/index.ts is passed to findTabByDomain() without any validation:
- No length limit — an arbitrarily long string will be processed
- Echoed in responses —
No tab found for domain: ${domain}returns attacker-controlled input to the MCP client. If these messages are ever rendered as HTML in a future UI, this is a stored XSS vector. - HTTP bridge — same parameter is entirely unvalidated in
Read the thread · 2026-06-22 · closed · external user · 7 comments
fix(security): address upload path validation vulnerabilities from PR #14 review
Context
PR #14 (fix/upload-allowlist) was merged via PR #15 (superset). The security review identified several vulnerabilities in validateUploadPath and validateTabId that shipped to main. These need follow-up fixes.
Source: PR #14 review comment — https://github.com/RapierCraft/Perplexity-Comet-MCP/pull/14#issuecomment-4764314368
Findings
1. CRITICAL — TOCTOU Race in validateUploadPath (src/index.ts)
existsSync(filePath) → realpathSync(filePath) → `statSync
Read the thread · 2026-06-22 · closed · external user · 7 comments
Most recent
comet_screenshot tool not working - CDP captureScreenshot type mismatch
Description
The comet_screenshot tool is not working properly. When called, it fails to return screenshot data.
Technical Analysis
Root Cause
The issue is in src/cdp-client.ts at line 1113:
async screenshot(format: "png" | "jpeg" = "png"): Promise<ScreenshotResult> {
this.ensureConnected();
return this.client!.Page.captureScreenshot({ format }) as Promise<ScreenshotResult>;
}
Problems identified:
ensureConnected()is not being awaited, which mean
Read the thread · 2026-01-24 · closed · external user · 5 comments
The remaining reports are on the project's issue tracker.