Firefox Add-ons Verified

Kindredly - A safer, private web for families

by Kindredly.ai · 5 users
9fc32f05-a3c0-5607-93f1-31e3ac7cf6e0 | v3.1.5.5
86/ 100
CRITICAL risk
No change since v3.1.5.4
Analyst verdict
Do not install

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

Analysis record

Analysed
Yesterday
Version
v3.1.5.5
Artifact
SHA256 D41…BD8
Source
Findings (non-IoC)

Is Kindredly - A safer, private web for families safe?

Kindredly is a Firefox add-on from Kindredly.ai aimed at families. It filters what the browser can reach and runs machine learning on your own machine to sort and summarise pages, which is why the package is full of model and library code: js/transformers.webDRb4Ouh4.js, the WebAssembly binaries under modeldata/wasm/, the PDF helpers under pdfjs/wasm/ and a speech build called js/kokoro7QGIOrga.js. The build we scanned lists no browser permission strings at all, so the network traffic it makes comes from ordinary fetch calls inside its own modules.

Two things look alarming at a glance. The endpoint list mixes real destinations such as 1password.com and 2mdn.net with obvious junk such as markdown documentation filenames, and the real ones read like a blocklist a family filter would ship. The single signature hit, YARA--supply_chain_sourcemap_appended_iife in sandbox-nonet.html, flags the shape of bundled JavaScript sitting next to a sourcemap comment, which build tools produce all the time.

What settles it for us: the fetch findings sit in modules named for their purpose (js/appStartRequestCcQV2_Jk.js, js/TextEmbeddingServiceoDz9nN1E.js), the obfuscation hits are Unicode tables in tokenizer code and an icon font in assets/appLifecycle.css, and nothing in the package reads cookies, touches login forms, or talks to a server the developer runs. What we cannot see is real-world vetting, since five users is a very small sample. If a later version changes what that sandbox page does, it deserves a fresh look.

Evidence ledger

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

1000 detail rows
Showing 25 of 69 · highest severity first

YARA Rule Matches

19 rules
SeverityRuleHitsFilesMetadata
HIGHsupply chain sourcemap appended iife 1
sandbox-nonet.html
-
LOWLocalStorageShouldNotBeUsed 23
js/appLifecycle.storeOxReVDfu.jsjs/devProviderAuthC3P3fMuS.jsjs/EbookReaderDq4lhT9S.js +20 more
-
LOWDebuggerStatementsShouldNotBeUsed 4
js/compiler-sfc.esm-browserCVZUaTm1.jsjs/pdf_viewerVXAy2Q8n.jsmodeldata/static/potion-base-32m/tokenizer.json +1 more
-
LOWUsingCommandLineArguments 3
js/heic2anyDpG77T-a.jsjs/baseDeYcB21j.jsmodeldata/wasm/ort-wasm-simd-threaded.jsep.mjs
-
LOWcredential metamask extension 2
js/urlDuplicateMatchingCAw0qzHz.jscontent-script-page-notes.js
-
LOWpostinstall persistence mechanism 53
js/DiagnosticsReset9jRSNKjj.jspdfjs/standard_fonts/FoxitSymbol.pfbprofile_images/profile-images.json +50 more
-
LOWcredential env files 26
js/UserLibraryEncryptionDiagnosticsTool.vue_vue_type_script_setup_true_langFH_m6Qzt.jsassets/transformers.web-BiCyDbiP.jsjs/DocumentPipelineTestDBxXXEvT.js +23 more
-
LOWCerberus 1
modeldata/static/potion-base-32m/tokenizer.json
-
LOWcredential skype data 3
content-script-default-restrictions.jsjs/urlDuplicateMatchingCAw0qzHz.jscontent-script-page-policy.js
-
LOWpostinstall file download 195
js/OpeningSettingsPageContentk-iuiBie.jsjs/VersionInfoCTkOYrty.jsjs/UserItemsCqGFqf48.js +192 more
-
LOWNoUseEval 1
js/vue3-lottie.esD17SrWtj.js
-
LOWNoUseWeakRandom 67
js/kindredly-ui.libDeKp4EHI.jsjs/remoteActionApprovalCCDYX_yX.jsjs/urlDuplicateMatchingCAw0qzHz.js +64 more
-
LOWSQLInjection 8
js/indexB3qNFbz_.jsjs/dexie2jmnBxhj.jsjs/ItemListYQILAGWi.js +5 more
-
LOWUsingIntrusivePermissionsWithGeolocation 2
js/AppIFrameBRY_wb3t.jsjs/ItemBYUm1P1j.js
-
LOWUntrustedContentShouldNotBeIncluded 1
js/EbookReaderDq4lhT9S.js
-
LOWpostinstall crypto operations 140
js/UploadItemImagehBkbMVrG.jsjs/AiAppUploadDMEcTo5N.jscontent-script-search-sidekick.js +137 more
-
LOWpostinstall environment access 223
js/CreateCollectionDrw7NHm1.jsjs/apiRouter6nvs_RCs.jsjs/useKeptCountsCGQ8a0Ss.js +220 more
-
LOWpostinstall file manipulation 176
js/SSEServiceB0aKdznM.jscontent-script-search-sidekick.jsjs/LibraryHealthCleanupD-JJLzaE.js +173 more
-
LOWpostinstall obfuscation 2
js/categoryExplorerSetsCylUBCaq.jsmodeldata/static/potion-base-32m/tokenizer.json
-

Publisher Evidence

Limited evidence

Kindredly.ai

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

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

41
Noisy-finding weight
x1.00
Publisher domain
kindredly.ai
Observed
Store verification signal
Limited signal
Limited
Extension portfolio
2
Portfolio

11 evidence rows available.

Finding Categories

1
Malware Signatures
13
Obfuscation
53
Network
1,976
IoC Indicators

YARA Rules Matched

19 rules(931 hits)
supply chain sourcemap appended iife LocalStorageShouldNotBeUsed DebuggerStatementsShouldNotBeUsed UsingCommandLineArguments credential metamask extension postinstall persistence mechanism credential env files Cerberus credential skype data postinstall file download NoUseEval NoUseWeakRandom SQLInjection UsingIntrusivePermissionsWithGeolocation UntrustedContentShouldNotBeIncluded postinstall crypto operations +3 more

Requested Permissions

12 permissions
<all_urls>

Access and modify data on every website you visit

Dangerous
nativeMessaging

Exchange messages with programs outside the browser

Dangerous
activeTab
Medium
tabs
Medium
bookmarks
Medium
scripting
Low
storage
Low
unlimitedStorage
Low
alarms
Low
webNavigation
Low
contextMenus
Low
trialML
Low

AI Security Report

AI Security Review

Evidence context: threat category none; evidence quality moderate.

Kindredly 3.1.5, published by Kindredly.ai, describes itself as private, family-friendly browsing with tools to reduce distractions. The package matches that description. It carries a local AI stack: Hugging Face Transformers.js builds in js/transformers.webDRb4Ouh4.js and assets/transformers.web-B5djYHRa.js, ONNX Runtime WebAssembly in modeldata/wasm/ort-wasm-simd-threaded.wasm, PDF.js decoders in pdfjs/wasm/jbig2_nowasm_fallback.js, a Kokoro speech build in js/kokoro7QGIOrga.js, and HEIC conversion in js/heic2anyDpG77T-a.js.

Every obfuscation finding lands inside one of those libraries. OBFUSCATION-UNICODE_HEAVY at js/transformers.webDRb4Ouh4.js:2894 and at assets/transformers.web-B5djYHRa.js:2894 sits in tokenizer code, where large Unicode range tables are the data rather than a disguise. OBFUSCATION-EXCESSIVE_PRIVATE_USE_AREA at assets/appLifecycle.css:0 is a private-use codepoint range in a stylesheet, which is what an icon font looks like. OBFUSCATION-LARGE_BASE64 in pdfjs/wasm/openjpeg_nowasm_fallback.js and jbig2_nowasm_fallback.js is the inline fallback PDF.js ships when WebAssembly is unavailable. OBFUSCATION-LARGE_WASM_FILE on the ort-wasm binaries is the model runtime itself.

The network findings are fetch calls in named application modules: js/appStartRequestCcQV2_Jk.js at lines 1, 69, 99, 1082 and 1278; js/TextEmbeddingServiceoDz9nN1E.js:3; js/esbuildInitC6Le2y3N.js lines 667 and 682; js/baseDeYcB21j.js lines 2495 and 2496. The extracted endpoint list is mostly noise. It holds markdown documentation filenames (21-openwrt-router.md, 26-device-control-plane.md, 08-ai-chat-system.md) and string fragments (1c.za, a-date.now, 1-this.no). The entries that look deliberate read like a content blocklist: 2mdn.net is an ad server, 3blue1brown.com is an educational video channel, 1v1.lol is a browser game, 1password.com is a password manager. A family filter ships exactly that kind of curated list, which explains the 1,946 indicators without implying any of them is contacted.

One finding needs naming. YARA--supply_chain_sourcemap_appended_iife fires at sandbox-nonet.html:177. That rule looks for an immediately-invoked function expression appended after a sourceMappingURL comment, a shape produced by build tooling and also used by attackers grafting code onto a vendored bundle. Here it is the only signature hit, it sits in an HTML sandbox page, and nothing corroborates it: no credential access, no cookie reads, no proxyware, no domain that belongs to a service the developer operates outside the blocklist.

A skeptic would answer that one high-severity supply-chain signature plus fifty fetch sites deserves runtime inspection, and that five users is too small a population to catch a bad release. That is fair as far as it goes. The signature still has no second signal anywhere in the package, and the fetch sites sit in modules named for their job (appStartRequest, TextEmbeddingService). The detail worth carrying forward is the permission surface: the build lists no permissions and no host permissions, and a filtering extension of this kind would normally request content-script access to every site. Re-parsing the manifest with a reader that understands Firefox optional_host_permissions would settle whether that is a parsing gap or a genuinely minimal install.

Key Reasons

  • Obfuscation hits map to known library internals: Unicode tables in Transformers.js tokenizer code, an icon font in assets/appLifecycle.css, and inline WebAssembly fallbacks in pdfjs/wasm
  • Endpoint list is dominated by extractor noise (markdown filenames, IPv6-ish fragments) plus a content-filter blocklist (2mdn.net, 1v1.lol, 3blue1brown.com, 1password.com), consistent with a family filtering product
  • Single malware signature YARA--supply_chain_sourcemap_appended_iife at sandbox-nonet.html:177 has no corroborating credential, cookie, proxyware or C2 evidence
  • Fetch findings sit in named application modules (appStartRequestCcQV2_Jk.js, TextEmbeddingServiceoDz9nN1E.js, esbuildInitC6Le2y3N.js) rather than in unexplained payloads
  • Named developer (Kindredly.ai) and version 3.1.5 of a product whose stated purpose explains the bundled ML and blocklist data

False Positive Considerations

  • Bundled third-party libraries (Transformers.js, ONNX Runtime WASM, PDF.js, Kokoro, heic2any) each triggering their own obfuscation and fetch matches
  • Blocklist-driven IoC volume: a family content filter embeds thousands of domains it never contacts
  • Unicode tokenizer tables and CSS icon-font private-use codepoints scored as obfuscation
  • Extractor garbage such as markdown doc filenames and string fragments parsed as network endpoints

Reviewed 2026-10-30; recommended action: suppress false positive; model confidence 80%.

Firefox version history

Risk trend by version

32 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
86
Change since first
+1
Change from previous
No change
Versions:
First analyzed version
3.0.235
Jun 28, 2026
Risk range
85 to 86
Across analyzed versions
Latest analyzed version
3.1.5.5
Nov 3, 2026
Selected version
critical
Version
v3.1.5.5
Yesterday
Risk score
86
Findings
3951
Change vs previous
No change

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

About This Extension

Kindredly helps families create a safer, more meaningful web experience together. Build private collections of trusted websites, videos, and resources. Share them with family members through a private, family-only network designed to make it easy to pass along what matters. With family-friendly browsing, content filtering, and usage limits, Kindredly helps reduce distractions, avoid junk, and guide kids toward higher-quality content. Kindredly is built for families who want more than basic blocking. It combines private sharing, guided browsing, and healthier digital habits in one place. Sensitive family content stays private, with end-to-end encryption built into the platform. Features: <ul><li>Build and share private collections with family members</li><li>Family-only sharing through a private internal network</li><li>Library-first browsing for access to trusted content</li><li>Content filtering and usage limits</li><li>Fewer distractions and a more focused web experience</li><li>Free version available with no ads</li></ul> The internet has amazing educational and enriching content, but it is also full of noise, addictive distractions, and inappropriate material. Kindredly helps families get to the good stuff faster and create a better web experience together. By installing, you agree to our terms of use: <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/962ecbcd024679a9650e59c1434079043e8a4b093ac0ca1422a264253e12f137/https%3A//kindredly.ai/terms" rel="nofollow">https://kindredly.ai/terms</a>

Frequently Asked Questions