Microsoft Edge Add-ons Verified

Streak CRM for Gmail

by Streak
85c3bc2c-5af4-521a-a620-971fa78e6797 | v7.119
85/ 100
CRITICAL risk
+37 since v7.117
Analyst verdict
Do not install

The AI review rates the findings as likely false positive, but the risk score (85/100) still counts them.

Analysis record

Analysed
4 days ago
Version
v7.119
Artifact
SHA256 0B4…5F8
Source
Findings (non-IoC)

Is Streak CRM for Gmail safe?

Streak CRM for Gmail is a sales tool that runs inside your Gmail inbox, letting you track threads, pipelines and contacts without leaving email. This build is version 7.117 on the Edge add-on store. The data we have lists no special permissions and no network endpoints, so the scan had no permission list to judge against.

What it did flag is ordinary packaging. Network findings point at fetch calls in the compiled bundles, such as NET-FETCH-clientjs/linkedinApp.e8371eca0eff42837646.js-44184 and NET-FETCH-clientjs/clientjs.chunk.669.9f3af283e6dcf4b19bf2.js-29319. A CRM has to send and receive data, and a fetch call in a bundled file means a request goes out from that spot. Other flags cover the same files: OBFUSCATION-fromcharcode_bulk and OBFUSCATION-large_base64 on clientjs/app.21d10e378bcb5ab244a2.js, and OBFUSCATION-unicode_heavy across five bundles. Minified production JavaScript decodes strings and inlines images this way, and non-English interface text makes the Unicode counter trip.

Nothing matched a malware signature, a known bad domain, a hardcoded credential or a cookie-theft pattern. The flags describe how the code is packed. They don't show what the extension does with your mail.

The limit is the manifest. No host list came through, so nobody checked which servers Streak is allowed to contact. The store listing's own permission list shows that.

Evidence ledger

Ranked by severity · findings with a source location link to the code viewer

203 detail rows
Showing 25 of 203 · highest severity first

Publisher Evidence

Limited evidence

Streak

Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.

Edge does not expose the same publisher verification data as IDE stores, so this score is deliberately conservative.

43
Noisy-finding weight
x1.00
Publisher domain
streak.com
Observed
Store verification signal
Limited signal
Limited
Extension portfolio
5
Portfolio

13 evidence rows available.

Finding Categories

AI Security Report

AI Security Review

Evidence context: threat category none; evidence quality moderate.

Streak CRM for Gmail is a long-shipped sales tool that puts a pipeline inside Gmail. Every finding here sits in the extension's own compiled front end: clientjs/app.21d10e378bcb5ab244a2.js, clientjs/linkedinApp.e8371eca0eff42837646.js, clientjs/sheetsApp.01e854ed79ca2b0b20d4.js, and the numbered chunks beside them.

The network findings are all NET-FETCH matches inside those bundles. NET-FETCH-clientjs/linkedinApp.e8371eca0eff42837646.js-44184 and NET-FETCH-clientjs/clientjs.chunk.669.9f3af283e6dcf4b19bf2.js-29319 are two of them. A CRM that syncs Gmail threads to a backend has to call fetch, and the finding records that a fetch exists at that line. The evidence carries no endpoint list and no destination domain, so there is nothing here tying a request to anywhere unusual. Compare that with the shape of real exfiltration findings, which pair a request with a domain that has no business being in the extension.

The obfuscation block is the noisier half. OBFUSCATION-unicode_heavy fires at line 0 of five bundles, including clientjs/sheetsApp.01e854ed79ca2b0b20d4.js and clientjs/app.21d10e378bcb5ab244a2.js. A CRM with a German or Japanese interface ships non-ASCII strings, and the rule counts high Unicode density rather than checking what the characters say. OBFUSCATION-fromcharcode_bulk and OBFUSCATION-large_base64 land on the same app bundle, which is what a webpack production build looks like when it inlines images and decodes strings at load time. OBFUSCATION-function_indirect in pageWorld.js is expected for a content script that has to read the Gmail page: running in page context requires indirect references. None of these are hidden payloads in the sense that matters, where a malware signature sits in the same file as the obfuscation. There is no malware signature anywhere in the evidence.

A skeptic would point at the blank developer name, the empty permission and host_permission lists, the zero user count, and the five high-severity obfuscation flags, and call this an unattributed clone. The file layout argues otherwise. linkedinApp, sheetsApp, a sheetsStoreApp store asset and pageWorld.js are Streak's actual integration surface, not the shape of a copy. Version 7.117 matches a real release line. Blank developer and permission fields are gaps in what got collected, and a collection gap does not turn a fetch call into a stolen session. An extension lifting Gmail cookies or OAuth tokens would show cookie access, credential strings or a hardcoded endpoint; this bundle shows none of those.

The stronger version of the review would need the manifest's host permissions and the actual fetch destinations. That data would settle the question quickly. On what is present, the findings describe build output.

Key Reasons

  • All 65 network findings are NET-FETCH matches inside Streak's own compiled clientjs bundles (e.g. NET-FETCH-clientjs/linkedinApp.e8371eca0eff42837646.js-44184), with no endpoint or domain attached to any of them
  • Zero malware-signature, zero IoC, zero secret and zero code-smell findings across 268 total findings; the remaining 203 are info-level
  • OBFUSCATION-unicode_heavy at line 0 of five bundles matches localized non-ASCII interface strings, not hidden payloads
  • OBFUSCATION-fromcharcode_bulk and OBFUSCATION-large_base64 on clientjs/app.21d10e378bcb5ab244a2.js match standard webpack production output that decodes strings and inlines assets
  • File layout (pageWorld.js, linkedinApp, sheetsApp, sheetsStoreApp) matches Streak's real product integrations and version 7.117 release line

False Positive Considerations

  • Minified webpack bundles in clientjs/ trigger NET-FETCH and fromCharCode/base64 decode rules on ordinary build output
  • OBFUSCATION-unicode_heavy fires on non-ASCII localized strings in five client bundles
  • pageWorld.js function_indirect is the normal pattern for a page-context content script reading the Gmail DOM
  • Blank developer_name and empty permission lists reflect missing collection, not extension behavior

Reviewed 2026-10-17; recommended action: suppress false positive; model confidence 85%.

Edge version history

Risk trend by version

39 analyzed versions. Each point is the latest successful scan for that version; failed zero-score scans are hidden. Dates are based on first seen by risky plugins.

Selected
85
Change since first
+49
Change from previous
+37
Versions:
First analyzed version
7.70
Apr 19, 2026
Risk range
21 to 85
Across analyzed versions
Latest analyzed version
7.119
Oct 21, 2026
Selected version
critical
Version
v7.119
4 days ago
Risk score
85
Findings
203
Change vs previous
+37

Pick any point on the chart to explore that version's code below.

Frequently Asked Questions