Is Image Editor for Google Chrome™ safe?
We analyzed Image Editor for Google Chrome™ version 4.0.0's actual code and gave it a 88/100 trust score. A purpose-aligned image editor has moderate…
Bottom line
A purpose-aligned image editor has moderate access and no established misuse or serious security weakness.
What it can access
It can read selected images and capture the visible tab after user actions; optional all-site access supports selected-image loading but is broader than needed. [Q1] [Q5]
Security weaknesses
No meaningful weakness was found: no remote code execution, website command channel, or exposed privileged file is evident. [Q7] [Q11] [Q16] [Q21]
Signs of misuse
No misuse is established: chosen images stay local, and fixed publisher pages open only during installation or removal. [Q6] [Q8] [Q14]
Code findings
What access does this extension ask for, and does that access make sense for what it claims to do?
It requests context menus, local storage, and temporary active-tab access for its advertised editor and screenshot features. All-site access is optional and the code requests only the selected image's origin when needed.
Declares contextMenus, storage, activeTab, and optional <all_urls> host access, with no always-on host permission. — manifest.json:1-48
Derives a single origin pattern from the selected image URL and requests that origin behind an explicit user action. — js/editor/io.js:213-248
Which websites can it run on, and can it read or change what appears on those pages?
No evidence of this behavior was found in the reviewed package.
Contains no content_scripts, scripting, or web-accessible-resource entry. — manifest.json:1-48
Receives the browser-provided srcUrl only when the user chooses Edit image from an image context menu. — js/background/context-menus.js:39-48
Can it see sensitive information you type, such as passwords, payment details, messages, or form entries?
No evidence of this behavior was found in the reviewed package.
Defines no webpage content script or broad page-reading permission. — manifest.json:1-48
Text input is used only to create a local canvas annotation. — js/editor/tools.js:240-270
Can it access private browser data such as cookies, signed-in sessions, browsing history, bookmarks, or downloads?
No evidence of this behavior was found in the reviewed package.
Its only permissions are contextMenus, storage, activeTab, and optional host access. — manifest.json:1-48
A user-requested screenshot carries the tab title and URL into one-shot chrome.storage.session data for the editor. — js/background/handoff.js:40-58
Can it access anything else on your device, such as files, location, camera, microphone, clipboard, or installed applications?
It can read image files the user selects or drops and capture the visible active tab after an explicit action. It has no camera, microphone, arbitrary filesystem, installed-app, or native-messaging access.
Validates and decodes image Blob/File objects supplied to the editor, with 40 MB and 50-megapixel limits. — js/editor/io.js:145-198
Calls chrome.tabs.captureVisibleTab only from user-triggered toolbar, command, or context-menu paths. — js/background/handoff.js:38-63
Does it send information outside your browser? If so, what information is sent, where does it go, and why?
It fetches a web image the user selects, with cookies deliberately omitted, and opens the publisher's welcome page on first install. No image, edit, preset, identifier, or analytics upload was found.
Fetches only the chosen image URL using credentials: omit and loads the response locally. — js/editor/io.js:213-229
Opens the fixed homepage /welcome path on installation and registers its /uninstall URL. — js/background/welcome.js:17-31
Does it download or run code, settings, or instructions supplied by a remote server?
No evidence of this behavior was found in the reviewed package.
The sole network fetch treats its response as an image Blob and validates the image type before decoding. — js/editor/io.js:213-229
Network and dynamic-execution review found no remote script or configuration loader. — inventory.json:1
Can it take actions without a clear user request, such as opening pages, redirecting searches, downloading files, or sending requests?
It automatically opens a fixed publisher welcome page once on initial installation and sends the browser to a fixed uninstall survey when removed. Image access, capture, editing, and downloads require user action.
Handles only the install reason before opening /welcome and sets the static /uninstall URL. — js/background/welcome.js:17-31
Editor opening and screenshot capture are bound to toolbar clicks and declared keyboard commands. — js/bg-worker.js:15-30
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.
Declares none of the permissions or override entries needed to manage those browser settings. — manifest.json:1-48
Is any important behavior difficult to inspect because the code is hidden, heavily obfuscated, dynamically generated, or supplied by third parties?
No evidence of this behavior was found in the reviewed package.
The service-worker entry and imports are direct, readable source. — js/bg-worker.js:1-30
The JavaScript inventory consists of small, named source modules rather than opaque packed payloads. — inventory.json:1
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.
Direct review and pattern searches across every JavaScript file found no dynamic-code execution sink. — inventory.json:1
Does it track the websites, pages, searches, or links you visit?
No evidence of this behavior was found in the reviewed package.
Keeps exactly one local image session in IndexedDB and expires it after 24 hours. — js/editor/session.js:1-81
Stores only editor preferences and named visual presets in chrome.storage.local. — js/editor/presets.js:13-53
Does it create a persistent ID or browser fingerprint to recognize you?
No evidence of this behavior was found in the reviewed package.
Review of all endpoints, storage keys, and network calls found no tracking identifier or analytics transport. — inventory.json:1
Does it send cookies, session details, authentication data, or page contents elsewhere?
No evidence of this behavior was found in the reviewed package.
Uses fetch(url, {credentials: 'omit'}) and consumes the response only as a local image Blob. — js/editor/io.js:213-229
Requests no cookies or identity permission and defines no content script. — manifest.json:1-48
Does it record typing, form entries, clipboard contents, or screenshots?
It can capture a screenshot of the visible active tab after an explicit action and can accept an image from a paste event in its own editor. It does not record typing, arbitrary clipboard contents, or background screenshots.
Captures the visible active tab only from documented user-triggered entry points. — js/background/handoff.js:38-63
Handles paste only inside the editor, ignores typing fields, and accepts only an image clipboard item. — js/editor/main.js:963-981
Can a website or remote server send commands that make the extension take actions?
No evidence of this behavior was found in the reviewed package.
Registers only installation, menu, action, and keyboard-command listeners. — js/bg-worker.js:1-30
Does it alter links, referral codes, advertisements, shopping carts, or search results?
No evidence of this behavior was found in the reviewed package.
Has no content script or search/new-tab override with which to alter links or results. — manifest.json:1-48
Does it redirect or modify web traffic, request headers, downloads, or proxy settings?
No evidence of this behavior was found in the reviewed package.
Requests no webRequest, declarativeNetRequest, proxy, or downloads permission. — manifest.json:1-48
Exports locally encoded images through short-lived Blob URLs and ordinary anchor downloads. — js/editor/io.js:329-365
Can it communicate with software on the computer or services running on localhost?
No evidence of this behavior was found in the reviewed package.
Declares no nativeMessaging permission. — manifest.json:1-48
Endpoint review found only publisher/store URLs and user-supplied image URLs. — inventory.json:1
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.
Implements a local ZIP writer for edited output blobs and never extracts or executes archive contents. — js/editor/zip.js:1-189
No decoding-to-execution path or dynamic code sink was found. — inventory.json:1
Can ordinary websites access privileged extension features through messaging or exposed files?
No evidence of this behavior was found in the reviewed package.
Declares neither externally_connectable nor web_accessible_resources and has no content scripts. — manifest.json:1-48
Registers no chrome.runtime.onMessage or onMessageExternal handler. — js/bg-worker.js:1-30
Does suspicious behavior activate only for certain users, websites, dates, or remote settings?
No evidence of this behavior was found in the reviewed package.
The only origin-dependent branch is the transparent per-image fetch and permission retry. — js/editor/io.js:213-248
Does it perform hidden resource-intensive work, such as cryptocurrency mining?
No evidence of this behavior was found in the reviewed package.
WebGL processing is tied directly to visible image effects and rendering. — js/editor/renderer.js:100-270
The background worker only registers lightweight browser-event handlers. — js/bg-worker.js:1-30
Does it change form fields or where a form sends its information?
No evidence of this behavior was found in the reviewed package.
Defines no webpage injection capability. — manifest.json:1-48
The packaged dialog form belongs to the extension's private editor UI and loads only packaged JavaScript. — editor.html:382-452