Is Copyfish safe?

Medium risk

Copyfish routes images through a public CORS proxy and sends tab screenshots to a third-party OCR service via a hardcoded shared API key.

When extracting text from images on a page, the extension passes image URLs through cors-anywhere.herokuapp.com, a public proxy not affiliated with the vendor, which receives both the URL and image content. Screenshots of the active tab are then sent as PNG data to ocr.space API servers using a shared API key embedded in the extension's config file. Both transfers occur without user authentication scoped to the individual user.

Ocr.Space (Free OCR API)v7.0.17Firefox Add-ons
46Risk
Who publishes it

Ocr.Space (Free OCR API) - no other listings under this identity, 2 shared hostnames

What this publisher told the store about itself, and the other listings that told it the same thing.

Publisher
Ocr.Space (Free OCR API)

Shared hosts - 2 hostnames

Hostnames hardcoded in this extension that few other listings call. That can mean one operator behind both, and it can equally mean a small shared vendor, so it is context rather than a conclusion. Hosts that many listings call are left out: they are services, not connections.

download.ui.vision
Also called by 4 other listings, including Ui.Vision, Copyfish 馃悷, Ui.Vision
go.ui.vision
Also called by 4 other listings, including Ui.Vision, Copyfish 馃悷, Ui.Vision

AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.

Publishers can request a review.

Findings

Image URLs routed through public CORS proxy for OCR processing

MediumunwantedCWE-200Dynamic sandbox

When you ask Copyfish to read text from an image, the extension can route the image URL through the public cors-anywhere.herokuapp.com proxy.

What actually happens

You did this

The user starts OCR on an image.

The extension did this

Copyfish routes the image through a public third-party CORS proxy before processing it.

Captured request

GETcors-anywhere.herokuapp.com

Fields in the request

  • Image URL
    https://example.com/images/receipt.png (illustrative)

    Reveals the location of the image selected for OCR and may identify the site or page context.

  • Image content
    Image bytes for the selected OCR target (illustrative)

    Contains the image data being processed, which may include text or visual information from the page.

Observation

Observed during dynamic analysis: the image context menu flow passes the image source URL into the OCR path, and the fetch target is built by prepending the public CORS proxy host to that source URL.

What it can do

Permissions this extension asks for, as declared in version 7.0.17. Asking for a permission is not a finding on its own - it is what the extension can do if it chooses to.

  • Add items to the right-click menu

    contextMenus

  • Act on the current tab, but only after you click the extension

    activeTab

  • Run its own code inside the pages you visit

    scripting

  • Store data in your browser

    storage

  • Show you desktop notifications

    notifications

  • Talk to a program installed on your computer, outside the browser's sandbox

    nativeMessaging

  • Read whatever you have copied to your clipboard

    clipboardRead

  • Write to your clipboard

    clipboardWrite

  • Run hidden pages in the background

    offscreen

Where it sends data

Destinations our analysis observed Copyfish 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.

  • cors-anywhere.herokuapp.com

    Copyfish sends data to cors-anywhere.herokuapp.com. 3 other extensions we have analyzed send data here.

  • apipro1.ocr.space

    Copyfish sends data to apipro1.ocr.space. 2 other extensions we have analyzed send data here.

  • apipro2.ocr.space

    Copyfish sends data to apipro2.ocr.space. One other extension we have analyzed sends data here.

Updated 2 November 2026amo-817995