Is 加搜GEO safe?
加搜GEO downloads JavaScript handlers from files.jiayisiyu.com and injects them into AI chat pages without integrity checks.
The extension polls a version and config file on files.jiayisiyu.com, then fetches the handler scripts named there. It injects them into the page context of AI chat and search sites such as ChatGPT, Claude, Gemini and Google. The executed code is hosted off-package, so the reviewed bundle does not contain the logic that actually runs.
Who publishes itashestan814 - 2 other listings from the same operator, 2 of them carrying a finding
ashestan814 - 2 other listings from the same operator, 2 of them carrying a finding
What this publisher told the store about itself, and the other listings that told it the same thing.
Same store account
2 other listings published from this account, 1k+ users between them. 2 of them carry a finding.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
AI-chat helper injects remote JavaScript from files.jiayisiyu.com into AI sites
Code analysis shows the extension downloads handler scripts from files.jiayisiyu.com and injects them into AI-chat pages with no integrity check, so the code that runs is not in the reviewed package.
- Severity
- High unwanted
- Type
- Unexpected
- CWE
- CWE-829
- Source
- Static analysis
You open an AI chat site such as ChatGPT, Claude or Gemini.
The extension fetches JavaScript from files.jiayisiyu.com and runs it inside the page.
No hash or signature check was found on the downloaded code.
Remote endpoints and the page-side injector
Remote config endpoints
background/index.js me(); A = !1, k = { versionUrl: "https://files.jiayisiyu.com/ai-screenshot/config/version.json", configUrl: "https://files.jiayisiyu.com/ai-screenshot/config/config.json", handlerBaseUrl: "https://files.jiayisiyu.com/ai-screenshot/config/handlers/"Fetch arbitrary config URLs and inject into the tab MAIN world
background/index.js }); async function ke(r, t) { if (!(!t || t.length === 0)) for (let e of t) try { if (e.startsWith("chrome-extension://")) { let n = e.replace(/^chrome-extension:\/\/[^/]+\//, ""); await chrome.scripting.executeScript({ target: { tabId: r }, files: [n] }); continue } let a = await fetch(e); if (!a.ok) continue; let o = await a.text(); await chrome.scripting.executeScript({ target: { tabId: r }, func: (n, s) => { try { let i = document.createElement("script"); i.textContent = n, i.setAttribute("data-inject-source", s), (document.head || document.documentElement).appendChild(i), i.remove() } catch {} }, args: [o, e],- Version filehttps://files.jiayisiyu.com/ai-screenshot/config/version.json
Polled to learn when new remote code is available.
- Config filehttps://files.jiayisiyu.com/ai-screenshot/config/config.json
Names the handler file for each supported site.
- Handler scriptshttps://files.jiayisiyu.com/ai-screenshot/config/handlers/chatgpt.js
Per-site JavaScript injected into the page.
- files.jiayisiyu.com
Serves config and handler JavaScript injected into AI-chat pages; not part of the reviewed package.
Static analysis finding. This behaviour was identified by reading the shipped extension code and has not yet been reproduced in a live run. The trigger conditions and the exact data sent are read from the code, not from an observed capture.
Where it sends data
Destinations our analysis observed 加搜geo contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.
- files.jiayisiyu.com
加搜geo sends data to files.jiayisiyu.com. One other extension we have analysed sends data here.