Is Office Editor for Word, Excel, PowerPoint & Docs safe?
We analyzed Office Editor for Word, Excel, PowerPoint & Docs version 0.0.5's actual code and gave it a 38/100 trust score. This editor has broad access…
Bottom line
This editor has broad access and a serious remotely reachable fetching weakness, with additional disclosure of document URLs and usage data.
What it can access
It can inspect all websites, local files, and document downloads, while opening files in a remote editor; this is broader than needed for a browser office tool. [Q1][Q3][Q5]
Security weaknesses
Allowed editor pages can make the extension fetch arbitrary internet or local destinations and return the results, without destination checks. [Q16][Q18][Q21]
Signs of misuse
Recognized document URLs, possible signed links, and usage identifiers are sent to outside services, though document editing explains much of the file transfer. [Q6][Q12][Q13][Q14]
Code findings
What access does this extension ask for, and does that access make sense for what it claims to do?
It has all-site and file-scheme host access plus downloads, scripting, storage, unlimited storage and context-menu permissions. The page access starts on every top-level website.
Declares <all_urls>, *://*/*, file:///*, downloads and scripting access. — manifest.json:27-50
Which websites can it run on, and can it read or change what appears on those pages?
It reads each top-level page URL and content type to recognize office documents. It otherwise does not scan page text; page access is limited to a canonical link on localhost and an extension-ID marker on ZIZIYI pages.
Checks window.location.href, document.contentType and limited head metadata, then invokes the editor only for supported document types. — js/content.js:1
Can it see sensitive information you type, such as passwords, payment details, messages, or form entries?
Office documents can contain sensitive business or personal data, and opened files are made available to the remote editor. No password-form or private-message scraping was found.
Fetches a requested document and transfers its complete ArrayBuffer to the parent editor origin. — assets/proxy-3UGX1S2q.js:1
Targets Word, spreadsheet, presentation, CSV, RTF and OpenDocument formats. — js/content.js:1
Can it access private browser data such as cookies, signed-in sessions, browsing history, bookmarks, or downloads?
It observes download URLs, final URLs, filenames, MIME types and states to detect office files. It does not request browsing history, bookmarks or cookies.
Requests downloads but not history, bookmarks or cookies. — manifest.json:40-50
Listens to downloads.onCreated/onChanged and searches completed downloads for document metadata. — js/bg.js:1
Can it access anything else on your device, such as files, location, camera, microphone, clipboard, or installed applications?
It can read local document files after the user separately enables Chrome's file-URL access, and it can cancel/erase intercepted local download entries. No camera, microphone, location or clipboard access was found.
Checks isAllowedFileSchemeAccess before fetching file:// URLs and opens a permissions guide if access is absent. — assets/proxy-3UGX1S2q.js:1
Uses downloads.cancel and downloads.erase for intercepted local-file downloads. — js/bg.js:1
Does it send information outside your browser? If so, what information is sent, where does it go, and why?
The full document URL and fetched document bytes go to the selected ZIZIYI editor origin. This is required for remote editing, but may disclose sensitive file content or URL query tokens.
Builds a ZIZIYI /editor URL containing the original source URL as the url query parameter. — js/bg.js:1
Returns fetched response bytes and headers to the requesting ZIZIYI parent window. — assets/proxy-3UGX1S2q.js:1
Does it download or run code, settings, or instructions supplied by a remote server?
The remote ZIZIYI editor supplies document-editing behavior and fetch instructions. Those instructions are data requests, not JavaScript executed in the extension context.
Accepts structured postMessage fetch requests from the allowlisted editor origins and returns response data. — assets/proxy-3UGX1S2q.js:1
Can it take actions without a clear user request, such as opening pages, redirecting searches, downloading files, or sending requests?
Supported document pages and fresh downloads are redirected to the editor automatically, without confirmation for each file. File type, freshness and top-frame checks narrow when this occurs, but no disable setting was found.
Automatically invokes OPEN_EDITOR_FOR_URL at document_start for recognized top-level document navigation. — js/content.js:1
Automatically handles supported downloads started within the previous ten seconds. — js/bg.js:1
Options cover language, theme, editor region and file access, not automatic interception. — assets/options-BaiaaPay.js:41
Can it change important browser settings, including your proxy, search engine, homepage, privacy settings, or other extensions?
No evidence of this behavior was found in the reviewed package.
Requests no browser-settings, proxy, privacy or management permission. — manifest.json:40-50
Is any important behavior difficult to inspect because the code is hidden, heavily obfuscated, dynamically generated, or supplied by third parties?
Most application code is bundled and minified, and the package includes a large document-conversion WebAssembly module. Privileged routes, allowed origins, telemetry and document handling remain readable.
Bundled service worker retains named message services and URL constants. — js/bg.js:1-14
Packaged Emscripten loader initializes the bundled x2t.wasm converter. — x2t/x2t.js:195-530
Does it use eval(), new Function(), or string-based timers to turn text into executable code?
No evidence of this behavior was found in the reviewed package.
Contains a fixed Function('return this') library expression. — js/bg.js:1
Loads only the packaged x2t.wasm binary. — x2t/x2t.js:399-530
Does it track the websites, pages, searches, or links you visit?
Recognized document URLs are sent in full to ZIZIYI, including any path, query string or signed access token. Ordinary non-document browsing URLs are not uploaded.
Passes window.location.href for recognized document pages. — js/content.js:1
Places the unchanged source URL into the remote editor's url query parameter. — js/bg.js:1
Does it create a persistent ID or browser fingerprint to recognize you?
Google Analytics receives persistent random client/session identifiers, browser/OS details and feature events such as file source/type, new-document type and proxy protocol. Document contents and full source URLs are not included in the observed analytics events.
Creates random _client_id/_user_id values and posts event batches to Google Analytics Measurement Protocol with UA metadata. — js/bg.js:1
Does it send cookies, session details, authentication data, or page contents elsewhere?
It does not read cookies or browser sessions, but full document URLs may contain bearer-style signed query parameters that are disclosed to the editor. That is a consequence of remote editing, not demonstrated credential theft.
Requests no cookies or identity permission. — manifest.json:40-50
Forwards the full unredacted document URL to the editor. — js/bg.js:1
Does it record typing, form entries, clipboard contents, or screenshots?
No evidence of this behavior was found in the reviewed package.
Contains no keyboard listener, form traversal or capture API call. — js/content.js:1
Can a website or remote server send commands that make the extension take actions?
Allowed editor pages can instruct the extension proxy to fetch any URL and return the bytes. This capability is active and unrestricted by scheme or destination beyond requiring file permission for file:// access.
Checks only the message origin and presence of type/url, then calls fetch on the supplied string and returns the full response. — assets/proxy-3UGX1S2q.js:1
Does it alter links, referral codes, advertisements, shopping carts, or search results?
No evidence of this behavior was found in the reviewed package.
Invokes editor navigation for documents and inserts office-ext-id only on ZIZIYI hosts. — js/content.js:1
Uses tabs.update to replace the current document tab with the remote editor URL. — js/bg.js:1
Does it redirect or modify web traffic, request headers, downloads, or proxy settings?
It intercepts document downloads and exposes arbitrary HTTP/file fetching to allowed editor pages. The origin allowlist limits callers, but requested destinations have no allowlist.
Monitors download creation/completion and offers a general FETCH_URL runtime service. — js/bg.js:1
Fetches arbitrary editor-supplied URLs and transfers response bytes. — assets/proxy-3UGX1S2q.js:1
Can it communicate with software on the computer or services running on localhost?
No evidence of this behavior was found in the reviewed package.
Requests no nativeMessaging permission. — manifest.json:40-50
Does it decode, decrypt, or unpack hidden data and then execute or inject it?
No evidence of this behavior was found in the reviewed package.
Extension script CSP permits self and packaged WASM only. — manifest.json:67-69
Fixed Function use does not receive a remote value. — js/bg.js:1
Instantiates the packaged x2t.wasm file. — x2t/x2t.js:399-530
Can ordinary websites access privileged extension features through messaging or exposed files?
A web-accessible privileged bridge accepts fetch commands from office.ziziyi.com, o.ziziyi.com and http://localhost:3000. Exact-origin checking is strong against other websites, but there is no per-request authorization or URL allowlist.
Validates event.origin against three strings, then forwards arbitrary URL fetch results to the parent. — assets/proxy-3UGX1S2q.js:1
Makes proxy.html and its code web-accessible from all sites. — manifest.json:53-65
Does suspicious behavior activate only for certain users, websites, dates, or remote settings?
No evidence of this behavior was found in the reviewed package.
Stores language, theme and auto/global/APAC editor-domain choices. — assets/options-BaiaaPay.js:41
Reads those values when building the remote editor URL. — js/bg.js:1
Does it perform hidden resource-intensive work, such as cryptocurrency mining?
No evidence of this behavior was found in the reviewed package.
Loads x2t.wasm and exposes document-conversion runtime functions. — x2t/x2t.js:195-530
Does it change form fields or where a form sends its information?
No evidence of this behavior was found in the reviewed package.
The content script handles document URL/type detection and ZIZIYI head metadata only. — js/content.js:1