• Skip to primary navigation
  • Skip to main content
pragati logo

Pragati Tech Services

  • Home
  • About
  • Services
    • Business Central
    • Back Office Support
    • Ecommerce Solutions
    • Customer Support
  • Blog
  • Contact
  • Show Search
Hide Search
You are here: Home / Archives for Tools & Resources

Tools & Resources

Microsoft calls it a trojan. It’s still in the Chrome Web Store.

Sachin · September 8, 2026 ·

In August, Microsoft Defender flagged two trojans on a colleague’s laptop. Both were inside one Chrome extension — an AI sidebar offering ChatGPT, Claude and DeepSeek beside whatever page you’re reading.

Trojan:JS/ChatGPTStealer.GVA!MTB
Trojan:Win32/Qwexlafiba!rfn
  extension ID  fnmihdojmnkclgjpcoonokmkhjpjechg

She installed it in June 2024 from the official Chrome Web Store. It had a Featured badge and four stars from thousands of reviews.

It is still there. 400,000 users. Updated three days after Defender flagged it. The listing still says the developer will not collect or use your data. (I’m linking the listing so you can verify that claim, not so you can install it. If that link is dead by the time you read this, good.)


Nobody blinked at the permissions, and they were right not to

host_permissions:  <all_urls>        read and change every page you visit
content_scripts:   <all_urls>
permissions:       storage, scripting

That’s alarming written down and completely unremarkable in context — an AI sidebar genuinely needs it. It can’t summarise the page without reading the page. For this category, the permission that enables total compromise is indistinguishable from the permission that enables the feature. There is no anomaly to spot and no prompt a careful user should refuse.


Google has known since January

LayerX, OX Security, Malwarebytes and Microsoft have all published on this family — sixteen or more extensions sharing a codebase, impersonating real AI assistants, harvesting session tokens. Microsoft’s own threat entry for the detection has been public since January.

Above links document these extensions taking AI conversations, tab URLs and ChatGPT account tokens. They do not document them reaching unrelated sites. But that’s what happened with one of our sites. They lifted our hosting credentials, logged-in, created a SFTP user, then installed files and finally injected JS into our website which started showing a fake pop-up to our visitors about a ‘Chrome Update‘, unsuspecting visitors if not careful, would be installing a malware being distributed using our site as distribution channel. When we found it out, we did fix it but it was a really scary experience.

There were probably multiple bad actors involved in all this and someone was responsible for lifting our session token, someone else used it to probably create SFTP users on our hosting panel and maybe someone else wanted to distribute the malware using our website. This was a chain of events and actions. In these extensions, permissions aren’t scoped to AI sites, and nothing in the browser makes them so. <all_urls> with content scripts on every page means read access to your webmail, your hosting panel, your bank — the same access, the same session, no additional prompt.

I reported it. The Chrome Web Store’s report form offers six radio buttons and no field for a detection name, a hash or a C2 domain. It’s product feedback, not abuse reporting.

And the shipping version isn’t detected. On one machine, Defender blocked reads on the older Edge copy while the newer Chrome copy hashed cleanly:

SHA256 — v2.0.6, undetected at time of writing
  blueBackground.js   CF4991C1AD1F96244E082091052FC8748C64DCD6ECC4D6E32909F3E33A6C51E7
  setup.html          7B9608084F09550E75E11713AC17CF2EE8FC5B7376160EFA618C089DC55B9BE9

Infrastructure referenced in the extension code
  a.gapier.com                          both versions
  chatgptextension.ai                   both versions
  costgoat.com                          v2.0.6
  agent-marketplace-ot2s.onrender.com   v2.0.6
  chatgptsidebar.pro                    v1.9.6

Probably not negligence: the malicious behavior is server-controlled, so a reviewer installing it sees a working sidebar behaving perfectly. But the consequence stands — a Featured badge (gone now) and 400,000 users tell you nothing.


Five ordinary decisions

An extension like this doesn’t cause a breach by itself. It combines with things nobody considers a problem.

  1. An extension reads every page. Necessary for AI assistants. Granted once, at install.
  2. Web apps hand tokens to the browser. Run Object.keys(sessionStorage) on your control panel. On a lot of platforms there’s an access token in there. There is no HttpOnly for web storage — every script in that origin can read it. This is common enough that the IETF published RFC 10017 this year recommending tokens never reach the browser at all.
  3. Authenticated consoles load third-party scripts. Analytics, chat, session recorders, ad pixels. I counted a dozen suppliers inside one hosting panel, each with the same access as any extension.
  4. Passwords get shared in chat tools. And stay there permanently.
  5. One-time codes get forwarded to the team. So the password and its second factor arrive in the same inbox.

Chaining used to be the expensive part

An extension like this doesn’t cause a breach by itself. It combines with things nobody considers a problem — and combining things is exactly what’s getting cheaper using AI Agents.

This isn’t speculative. Anthropic has disclosed a China-nexus actor that used its own agentic coding tool to run espionage operations against roughly thirty organisations, with 80–90% of the tactical work executed without a human in the loop — reconnaissance, vulnerability discovery, credential testing, exfiltration. It’s catalogued by MITRE ATT&CK as Campaign C0062. Palo Alto’s Unit 42 has separately demonstrated a multi-agent system chaining a four-stage attack from a single prompt, with no human intervention between pivots. The Cloud Security Alliance’s assessment is that automated exploit generation has crossed a threshold.


What you can do?

Well I don’t have a clear answer to be ready for these AI assisted breaches and all the bad actors using them to full extent, however below is what could help you against rogue extensions like the one mentioned here:

  • See what your extensions can already read. In your admin console’s developer tools:
    • document.cookie
    • Object.keys(localStorage)
    • Object.keys(sessionStorage)
      Anything returned is readable by every extension you have installed. If a session token is in that list, any extension can be you — no password, no second factor, no login event.
  • Set site access to “on click.” chrome://extensions → Details → Site access. Built in, free, almost nobody uses it. An AI sidebar works fine this way; it just can’t sit on your admin panel.
  • Audit by ID, not name. Names change — this one shipped under two. IDs don’t.
  • If you run a team, set an allowlist. Chrome Browser Cloud Management is free with Google Workspace. An afternoon’s work.
  • And stop sharing passwords in chat, and stop forwarding one-time codes. If both land in the same inbox, you have one factor with extra steps.

Extension indicators published so others can check their own estates. Platform findings reported to the vendors concerned and withheld pending response.

Unlayer Studio Shutting Down June 30, 2026 — Here’s How to Save All Your Campaigns

Sachin · April 24, 2026 ·

If you’re an Unlayer Studio user, you’ve probably received the email. Studio is retiring on June 30, 2026. All subscriptions end. No renewals. The editor goes dark.

For many teams this is manageable — if you have a handful of templates, Unlayer’s built-in HTML export works fine, and rebuilding a few designs in Klaviyo or Mailchimp takes an afternoon. Unlayer’s templates section also allows JSON export directly, so if your library is small, you may already have everything you need.

But if your team has built up a large campaign library over months or years — and your entire workflow depends on duplicating and editing those campaigns — the situation is different. You’re not rebuilding three templates. You’re looking at hundreds of campaigns, years of brand work, and a design workflow that disappears overnight.

We’ve been through this with a client who had 608 campaigns built up over two years. Here’s what we found, what we built, and how we can help teams in the same position.

What Are Your Options?

The first thing every Studio user does is click the “Download Designs & Assets” button in the yellow shutdown banner. Here’s the problem: it takes you to the Templates page, not Campaigns.

The second option people try is exporting individual HTML files one by one. That works — but HTML export is a one-way door. You get a static file you can send via Klaviyo or Mailchimp, but you lose all editability. You can’t open that HTML back up in a drag-and-drop editor and make changes.

What you actually need is the design JSON — Unlayer’s internal format that powers the drag-and-drop editor. With that, you can open any campaign in an Unlayer-based editor and edit it exactly as you did in Studio.


What We Built

After some investigation, we discovered that Unlayer Studio uses a GraphQL API to load campaign data — including the full design JSON for every campaign. We built a tool that:

  1. Connects to your Studio account using your existing login session
  2. Extracts all campaigns — not just templates, but every campaign in your library — with complete design JSON intact
  3. Downloads all your images from Unlayer’s CDN before they go offline
  4. Sets you up with a working campaign manager built on Unlayer Embed, where you can continue to create, duplicate, edit, and export HTML campaigns exactly as you did in Studio

For our client, that meant 608 campaigns extracted with zero failures, images downloaded, and a working replacement app running — all before the June 30 deadline.


The Replacement App

The campaign manager we built is a clean, browser-based tool powered by Unlayer Embed — the same drag-and-drop editor engine that powered Studio. Your muscle memory transfers directly.

What it does:

  • Sidebar with all your campaigns, searchable and sorted by last edited
  • Full Unlayer drag-and-drop editor — same blocks, same experience
  • Duplicate, edit, save — the exact workflow you’re used to
  • Export HTML — ready to paste into Klaviyo, Mailchimp, or any ESP
  • Bulk import — load all your extracted campaigns in one shot
  • Local folder storage — campaigns save as individual JSON files on your own computer or server. No size limits, no browser storage cap, no lock-in

Your campaigns, your files, your control.


What About Images?

This is the part that catches most people out. When Studio shuts down, the images hosted on Unlayer’s CDN (assets.unlayer.com) will stop loading — not just in the editor, but in emails you’ve already sent too.

Unlayer’s own shutdown notice says: “After June 30, all Unlayer-hosted images and assets will stop loading — including in emails you’ve already sent.”

As part of our migration service, we download all your images and re-host them on your own domain (typically your existing WordPress media library or an S3 bucket). Every campaign JSON file is then updated to point to the new URLs. Your campaigns continue to display correctly in both the editor and in live emails.


Who This Is For

This service is for Unlayer Studio users who:

  • Have a library of campaigns they need to preserve and keep editing
  • Are running Klaviyo, Mailchimp, or another ESP and need to keep exporting HTML
  • Don’t want to rebuild everything from scratch in a new tool
  • Want their campaigns and images safely backed up before June 30

It doesn’t matter how many campaigns you have. We’ve handled 608 in a single session — the process is fully automated.


What We Offer

This service is specifically for teams with large campaign libraries who need everything preserved and working before June 30.

PlanPrice
Starter — up to 100 campaigns$99 one-time
Standard — 100 to 500 campaigns$149 one-time
Large — 500+ campaigns$249 one-time
Ongoing hosting + support$29/month

Each tier includes campaign extraction, image download and re-hosting on your domain, and the campaign manager app set up and ready to use.

If you only have a small number of templates to migrate, we’re happy to point you toward the free options — just get in touch and we’ll give you an honest answer on whether you actually need us.

Get in touch at info@pragatitech.com or visit pragatitech.com/contact to discuss your situation. We’ll give you a straight answer on what’s involved and what it costs.


The June 30 Deadline Is Real

Unlayer has been clear: no extensions, no renewals, no free tier to fall back on after the shutdown date. Every day you wait is a day closer to losing access to your campaign library permanently.

The image bandwidth issue is also real — Unlayer’s CDN has already started hitting limits for some projects, causing images to fail before the shutdown date even arrives.

If you’re on Studio, now is the time to act.


A Note on Unlayer Studio Alternatives

For most Studio users, we recommend Beefree as the destination after migration.

Here’s why it’s the closest thing to a Studio replacement:

  • Free plan includes mobile design mode 
  • Professional plan is $25/month 
  • Built-in image hosting 
  • Beefree can convert your Unlayer JSON files — their migration team will take the JSON files we extract and convert them to fully editable Beefree designs

Topol PRO is a good email builder too and a reasonable long-term replacement for Studio. But it doesn’t solve the immediate problem: your existing campaign library. Topol has no way to import your Unlayer campaigns as editable designs — you’d be starting from scratch. If you have 10 templates, that’s an afternoon. If you have 100+ campaigns, that’s weeks of work, and you lose years of design history permanently.

If you’re looking to move to a native ESP builder rather than maintain a separate design tool, the honest answer is: Klaviyo and Mailchimp both have solid built-in email builders with image hosting included. If your team is already living in those platforms, rebuilding your key templates there is a reasonable option.

The catch is that imported HTML is static in both platforms — you lose drag-and-drop editability. And rebuilding 600 campaigns is not a realistic afternoon project.

Our recommendation: extract and preserve everything now, then migrate forward at your own pace with full access to your original designs.


Pragati Tech Services is a boutique IT agency based in Nagpur, India, specialising in business process solutions for SMEs. We work with clients in Australia, the UK, and beyond.

Contact us at pragatitech.com/contact

Pragati Tech Services

Copyright © 2026