T05 · Unauthorized Access and Privilege Escalation
- Location
research.py:54- Finding
Overly Broad DOM Extraction May Capture Unrelated Authenticated Browser Content
- Content
View full analysis
0) { const last = prose[prose.length-1].innerText; if (last.length > 100) return last; } // Strategy 2: find answer text from body content const lines = bodyText.split('\n').filter(l => l.trim().length > 40); if (lines.length > 3) return lines.join('\n'); ``` ```python # research.py:104-112 const scroll = document.querySelector('[class*="overflow-y-auto"][class*="scrollbar-gutter"]'); if (scroll && scroll.innerText.length > 50) { // Strip the user query (first line) to get just the response const lines = scroll.innerText.split('\n').filter(l => l.trim()); const responseStart = lines.findIndex((l, i) => i > 0 && l.length > 20); if (responseStart > 0) return lines.slice(responseStart).join('\n'); } return ''; ``` ```python # research.py:142-151 const allDivs = document.querySelectorAll('div'); let best = null, bestLen = 0; for (const d of allDivs) { const t = d.innerText; if (t.length > 200 && t.length < 15000 && !d.querySelector('nav, header, aside')) { if (t.length > bestLen) { bestLen = t.length; best = d; } } } if (best) return best.innerText; return ''; ``` ### Technical Analysis The Skill runs JavaScript inside pages opened under the user's authenticated Perplexity, Grok, and Gemini browser sessions. Its fallback extractors are not reliably limited to the response generated for the current query. The Perplexity fallback ...[truncated 1767 chars]- Remediation
View remediation
