uBlock Origin Chrome extension icon

uBlock Origin

🔍 Security Report Available
👥 15M+ users
📦 v1.69.0
💾 4.12MiB
📅 2026-01-29
View on Chrome Web Store

Chrome will indicate if you already have this installed.

Blocks over 3 billion ads and trackers, letting you browse the web more efficiently and securely, with minimal impact on CPU and memory usage. Suitable for anyone looking to enhance their online privacy and reduce distractions. Benefits most those who value a clutter-free browsing experience.

Overview

IMPORTANT: uBlock Origin is completely unrelated to the site "ublock.org".

uBlock Origin is not an "ad blocker", it's a wide-spectrum content blocker with CPU and memory efficiency as a primary feature.

***

Out of the box, these lists of filters are loaded and enforced:

- uBlock Origin filter lists
- EasyList (ads)
- EasyPrivacy (tracking)
- Peter Lowe’s Ad server list (ads and tracking)
- Online Malicious URL Blocklist

More lists are available for you to select if you wish:

- Annoyances (cookie warnings, overlays, etc.)
- hosts-based lists
- And many others

Additionally, you can point-and-click to block JavaScript locally or globally, create your own global or local rules to override entries from filter lists, and many more advanced features.

***

Free.
Open source with public license (GPLv3)
For users by users.

If ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.

***

Documentation:
https://github.com/gorhill/uBlock#ublock-origin

Project change log:
https://github.com/gorhill/uBlock/releases

Contributors @ Github:
https://github.com/gorhill/uBlock/graphs/contributors

Contributors @ Crowdin:
https://crowdin.net/project/ublock

Tags

Make Chrome Yours/privacy ad-blocker make chrome yours/privacy

Privacy Practices

Not being sold to third parties, outside of the approved use cases
Not being used or transferred for purposes that are unrelated to the item's core functionality
Not being used or transferred to determine creditworthiness or for lending purposes
v1.69.0 Info Scanned Mar 4, 2026

Security Analysis — uBlock Origin

Analyzed v1.69.0 · Mar 4, 2026 · 189 JS files · 3283 KB scanned

Permissions

alarms contextMenus privacy storage tabs unlimitedStorage webNavigation webRequest webRequestBlocking <all_urls>

Code Patterns Detected

eval() used — can execute arbitrary code Dynamic JS import String.fromCharCode (obfuscation) charCodeAt (obfuscation) Makes XHR requests Uses Fetch API Creates script elements dynamically Reads browser storage Writes to browser storage Removes from browser storage Captures keystrokes Runs on ALL websites Broad host permissions Creates context menu items Creates iframe elements Uses postMessage for cross-origin comms Sets up event listeners

External Connections

github.com www.gnu.org developer.mozilla.org www.reddit.com codemirror.net bugzilla.mozilla.org www.cse.yorku.ca www.w3.org en.wikipedia.org bugs.chromium.org stackoverflow.com searchfox.org +8 more

Package Contents 651 files · 13.8MB

📁_locales3.6MB
📁ar52KB
{}messages.json52KB
📁az49KB
{}messages.json49KB
📁be55KB
{}messages.json55KB
📁bg56KB
{}messages.json56KB
📁bn63KB
{}messages.json63KB
📁br_FR48KB
{}messages.json48KB
📁bs48KB
{}messages.json48KB
📁ca49KB
{}messages.json49KB
📁cs48KB
{}messages.json48KB
📁cv47KB
{}messages.json47KB
📁cy47KB
{}messages.json47KB
📁da47KB
{}messages.json47KB
📁de48KB
{}messages.json48KB
📁el59KB
{}messages.json59KB
📁en46KB
{}messages.json46KB
📁en_GB46KB
{}messages.json46KB
📁eo47KB
{}messages.json47KB
📁es48KB
{}messages.json48KB
📁et47KB
{}messages.json47KB
📁eu48KB
{}messages.json48KB
📁fa55KB
{}messages.json55KB
📁fi48KB
{}messages.json48KB
📁fil49KB
{}messages.json49KB
📁fr49KB
{}messages.json49KB
📁fy47KB
{}messages.json47KB
📁gl48KB
{}messages.json48KB
📁gu46KB
{}messages.json46KB
📁he50KB
{}messages.json50KB
📁hi61KB
{}messages.json61KB
📁hr48KB
{}messages.json48KB
📁hu49KB
{}messages.json49KB
📁hy56KB
{}messages.json56KB
📁id47KB
{}messages.json47KB
📁it48KB
{}messages.json48KB
📁ja51KB
{}messages.json51KB
📁ka63KB
{}messages.json63KB
📁kk50KB
{}messages.json50KB
📁kn52KB
{}messages.json52KB
📁ko48KB
{}messages.json48KB
📁lt48KB
{}messages.json48KB
📁lv49KB
{}messages.json49KB
📁mk55KB
{}messages.json55KB
📁ml65KB
{}messages.json65KB
📁mr50KB
{}messages.json50KB
📁ms47KB
{}messages.json47KB
📁nb47KB
{}messages.json47KB
📁nl48KB
{}messages.json48KB
📁no47KB
{}messages.json47KB
📁oc47KB
{}messages.json47KB
📁pa56KB
{}messages.json56KB
📁pl48KB
{}messages.json48KB
📁pt_BR48KB
{}messages.json48KB
📁pt_PT48KB
{}messages.json48KB
📁ro48KB
{}messages.json48KB
📁ru56KB
{}messages.json56KB
📁si61KB
{}messages.json61KB
📁sk48KB
{}messages.json48KB
📁sl48KB
{}messages.json48KB
📁so48KB
{}messages.json48KB
📁sq47KB
{}messages.json47KB
📁sr55KB
{}messages.json55KB
📁sv48KB
{}messages.json48KB
📁sw47KB
{}messages.json47KB
📁ta64KB
{}messages.json64KB
📁te62KB
{}messages.json62KB
📁th60KB
{}messages.json60KB
📁tr48KB
{}messages.json48KB
📁uk56KB
{}messages.json56KB
📁ur48KB
{}messages.json48KB
📁vi50KB
{}messages.json50KB
📁zh_CN46KB
{}messages.json46KB
📁zh_TW46KB
{}messages.json46KB
📁_metadata83KB
{}verified_contents.json83KB
📁assets6.1MB
📁thirdparties4.1MB
📁easylist3.4MB
📄easylist.txt2MB
📄easyprivacy.txt1.4MB
📁pgl.yoyo.org93KB
📁as93KB
📄README.md1KB
📄serverlist91KB
📁publicsuffix.org322KB
📁list322KB
📄effective_tld_names.dat322KB
📁urlhaus-filter277KB
📄LICENSE.md6KB
📄urlhaus-filter-online.txt270KB
📁ublock2MB
📄badlists.txt5KB
📄badware.min.txt140KB
📄filters.min.txt1.5MB
📄privacy.min.txt112KB
📄quick-fixes.min.txt45KB
📄unbreak.min.txt166KB
{}assets.json37KB
📁css402KB
📁fonts276KB
📁Inter225KB
🔤Inter-Regular.woff2109KB
🔤Inter-SemiBold.woff2112KB
📄LICENSE.txt4KB
📁Metropolis51KB
🔤Metropolis-Regular.woff224KB
🔤Metropolis-SemiBold.woff226KB
📄README.md617B
📄UNLICENSE1KB
📁themes17KB
🎨default.css17KB
🎨1p-filters.css624B
🎨3p-filters.css6KB
🎨about.css38B
🎨advanced-settings.css491B
🎨asset-viewer.css2KB
🎨click2load.css1KB
🎨cloud-ui.css2KB
🎨code-viewer.css1KB
🎨codemirror.css9KB
🎨common.css9KB
🎨dashboard-common.css1KB
🎨dashboard.css3KB
🎨devtools.css363B
🎨document-blocked.css4KB
🎨dom-inspector.css863B
🎨dyna-rules.css2KB
🎨epicker-ui.css7KB
🎨fa-icons.css4KB
🎨logger-ui-inspector.css3KB
🎨logger-ui.css27KB
🎨popup-fenix.css21KB
🎨settings.css2KB
🎨support.css2KB
🎨whitelist.css365B
📁img198KB
📁flags-of-the-world124KB
📄README278B
🖼ad.png672B
🖼ae.png115B
🖼af.png934B
🖼ag.png603B
🖼ai.png770B
🖼al.png508B
🖼am.png106B
🖼ao.png430B
🖼aq.png407B
🖼ar.png345B
🖼as.png1KB
🖼at.png94B
🖼au.png565B
🖼aw.png249B
🖼ax.png178B
🖼az.png238B
🖼ba.png385B
🖼bb.png291B
🖼bd.png282B
🖼be.png115B
🖼bf.png236B
🖼bg.png105B
🖼bh.png326B
🖼bi.png651B
🖼bj.png122B
🖼bl.png2KB
🖼bm.png1KB
🖼bn.png1KB
🖼bo.png107B
🖼bq.png619B
🖼br.png714B
🖼bs.png304B
🖼bt.png1KB
🖼bv.png122B
🖼bw.png108B
🖼by.png454B
🖼bz.png1KB
🖼ca.png430B
🖼cc.png618B
🖼cd.png489B
🖼cf.png214B
🖼cg.png196B
🖼ch.png124B
🖼ci.png103B
🖼ck.png803B
🖼cl.png207B
🖼cm.png201B
🖼cn.png265B
🖼co.png103B
🖼cr.png419B
🖼cu.png439B
🖼cv.png385B
🖼cw.png234B
🖼cx.png750B
🖼cy.png445B
🖼cz.png277B
🖼de.png105B
🖼dj.png503B
🖼dk.png139B
🖼dm.png573B
🖼do.png392B
🖼dz.png358B
🖼ec.png1KB
🖼ee.png107B
🖼eg.png286B
🖼eh.png404B
🖼er.png649B
🖼es.png755B
🖼et.png616B
🖼fi.png140B
🖼fj.png1KB
🖼fk.png1KB
🖼fm.png254B
🖼fo.png124B
🖼fr.png104B
🖼ga.png102B
🖼gb-eng.png134B
🖼gb-nir.png745B
🖼gb-sct.png428B
🖼gb-wls.png2KB
🖼gb.png489B
🖼gd.png615B
🖼ge.png311B
🖼gf.png418B
🖼gg.png170B
🖼gh.png228B
🖼gi.png874B
🖼gl.png341B
🖼gm.png131B
🖼gn.png104B
🖼gp.png993B
🖼gq.png547B
🖼gr.png180B
🖼gs.png2KB
🖼gt.png485B
🖼gu.png691B
🖼gw.png226B
🖼gy.png509B
🖼hk.png398B
🖼hm.png571B
🖼hn.png206B
🖼hr.png707B
🖼ht.png466B
🖼hu.png106B
🖼id.png92B
🖼ie.png105B
🖼il.png273B
🖼im.png819B
🖼in.png225B
🖼io.png2KB
🖼iq.png256B
🖼ir.png533B
🖼is.png174B
🖼it.png104B
🖼je.png965B
🖼jm.png351B
🖼jo.png299B
🖼jp.png245B
🖼ke.png523B
🖼kg.png518B
🖼kh.png598B
🖼ki.png1KB
🖼km.png525B
🖼kn.png657B
🖼kp.png360B
🖼kr.png683B
🖼kw.png227B
🖼ky.png1KB
🖼kz.png626B
🖼la.png223B
🖼lb.png361B
🖼lc.png620B
🖼li.png403B
🖼lk.png911B
🖼lr.png277B
🖼ls.png297B
🖼lt.png105B
🖼lu.png105B
🖼lv.png107B
🖼ly.png218B
🖼ma.png219B
🖼mc.png93B
🖼md.png761B
🖼me.png720B
🖼mf.png104B
🖼mg.png105B
🖼mh.png864B
🖼mk.png578B
🖼ml.png103B
🖼mm.png389B
🖼mn.png329B
🖼mo.png440B
🖼mp.png2KB
🖼mq.png656B
🖼mr.png374B
🖼ms.png981B
🖼mt.png209B
🖼mu.png109B
🖼mv.png201B
🖼mw.png315B
🖼mx.png822B
🖼my.png450B
🖼mz.png751B
🖼na.png584B
🖼nc.png664B
🖼ne.png190B
🖼nf.png522B
🖼ng.png97B
🖼ni.png336B
🖼nl.png105B
🖼no.png122B
🖼np.png1KB
🖼nr.png205B
🖼nu.png510B
🖼nz.png608B
🖼om.png291B
🖼pa.png318B
🖼pe.png97B
🖼pf.png816B
🖼pg.png589B
🖼ph.png616B
🖼pk.png355B
🖼pl.png94B
🖼pm.png3KB
🖼pn.png2KB
🖼pr.png456B
🖼ps.png297B
🖼pt.png1KB
🖼pw.png300B
🖼py.png320B
🖼qa.png213B
🖼re.png620B
🖼ro.png103B
🖼rs.png1KB
🖼ru.png105B
🖼rw.png255B
🖼sa.png433B
🖼sb.png574B
🖼sc.png470B
🖼sd.png295B
🖼se.png140B
🖼sg.png306B
🖼sh.png925B
🖼si.png303B
🖼sj.png122B
🖼sk.png454B
🖼sl.png105B
🖼sm.png1KB
🖼sn.png233B
🖼so.png271B
🖼sr.png247B
🖼ss.png475B
🖼st.png351B
🖼sv.png488B
🖼sx.png945B
🖼sy.png237B
🖼sz.png917B
🖼tc.png824B
🖼td.png104B
🖼tf.png377B
🖼tg.png292B
🖼th.png108B
🖼tj.png330B
🖼tk.png606B
🖼tl.png441B
🖼tm.png1KB
🖼tn.png306B
🖼to.png108B
🖼tr.png317B
🖼tt.png667B
🖼tv.png726B
🖼tw.png259B
🖼tz.png382B
🖼ua.png92B
🖼ug.png388B
🖼um.png539B
🖼us.png539B
🖼uy.png574B
🖼uz.png310B
🖼va.png750B
🖼vc.png317B
🖼ve.png268B
🖼vg.png1KB
🖼vi.png2KB
🖼vn.png282B
🖼vu.png662B
🖼wf.png260B
🖼ws.png255B
🖼xk.png453B
🖼ye.png105B
🖼yt.png1KB
🖼za.png387B
🖼zm.png297B
🖼zw.png617B
📁fontawesome40KB
📄LICENSE.txt1KB
🖼fontawesome-defs.svg39KB
🖼cloud.png5KB
🖼help16.png215B
🖼icon_128.png3KB
🖼icon_16-loading.png570B
🖼icon_16-off.png552B
🖼icon_16.png420B
🖼icon_32-loading.png1KB
🖼icon_32-off.png1KB
🖼icon_32.png1KB
🖼icon_64-loading.png4KB
🖼icon_64-off.png5KB
🖼icon_64.png3KB
🖼material-design.svg513B
🖼photon.svg4KB
🖼ublock-defs.svg2KB
🖼ublock.svg3KB
📁js2.2MB
📁codemirror77KB
📜search-thread.js6KB
📜search.js19KB
📜ubo-dynamic-filtering.js8KB
📜ubo-static-filtering.js46KB
📁resources261KB
📜attribute.js9KB
📜base.js1KB
📜cookie.js13KB
📜create-html.js5KB
📜href-sanitizer.js6KB
📜json-edit.js34KB
📜json-prune.js10KB
📜localstorage.js8KB
📜noeval.js2KB
📜object-prune.js9KB
📜parse-replace.js2KB
📜prevent-addeventlistener.js6KB
📜prevent-dialog.js2KB
📜prevent-fetch.js6KB
📜prevent-innerHTML.js3KB
📜prevent-settimeout.js8KB
📜proxy-apply.js4KB
📜replace-argument.js5KB
📜run-at.js3KB
📜safe-self.js8KB
📜scriptlets.js86KBlarge
📜set-constant.js10KB
📜shared.js1KB
📜spoof-css.js6KB
📜stack-trace.js5KB
📜utils.js8KB
📁scriptlets124KB
📜cosmetic-logger.js11KB
📜cosmetic-off.js1KB
📜cosmetic-on.js1KB
📜cosmetic-report.js4KB
📜dom-inspector.js26KB
📜dom-survey-elements.js2KB
📜dom-survey-scripts.js5KB
📜epicker.js44KB
📜load-3p-css.js2KB
📜load-large-media-all.js2KB
📜load-large-media-interactive.js10KB
📜noscript-spoof.js4KB
📜scriptlet-loglevel-1.js1KB
📜scriptlet-loglevel-2.js1KB
📜should-inject-contentscript.js1KB
📜subscriber.js4KB
📜updater.js4KB
📁wasm42KB
📄README.md726B
biditrie.wasm999B
📄biditrie.wat21KB
hntrie.wasm1KB
📄hntrie.wat19KB
📜1p-filters.js12KB
📜3p-filters.js33KB
📜about.js1KB
📜advanced-settings.js6KB
📜arglist-parser.js5KB
📜asset-viewer.js4KB
📜assets.js50KBlarge
📜background.js13KB
📜base64-custom.js5KB
📜benchmarks.js15KB
📜biditrie.js34KB
📜broadcast.js3KB
📜cachestorage.js24KB
📜click2load.js2KB
📜cloud-ui.js7KB
📜code-viewer.js9KB
📜commands.js6KB
📜console.js2KB
📜contentscript-extra.js22KB
📜contentscript.js45KB
📜contextmenu.js9KB
📜cosmetic-filtering.js32KB
📜dashboard-common.js7KB
📜dashboard.js5KB
📜devtools.js12KB
📜diff-updater.js10KB
📜document-blocked.js9KB
📜dom-inspector.js2KB
📜dom.js7KB
📜dyna-rules.js24KB
📜dynamic-net-filtering.js14KB
📜epicker-ui.js29KB
📜fa-icons.js47KB
📜filtering-context.js14KB
📜filtering-engines.js2KB
📜hnswitches.js9KB
📜hntrie.js28KB
📜html-filtering.js13KB
📜httpheader-filtering.js6KB
📜i18n.js13KB
📜is-webrtc-supported.js2KB
📜jsonpath.js19KB
📜logger-ui-inspector.js22KB
📜logger-ui.js101KBlarge
📜logger.js3KB
📜lz4.js6KB
📜messaging.js64KBlarge
📜mrucache.js2KB
📜pagestore.js39KB
📜popup-fenix.js51KBlarge
📜redirect-engine.js17KB
📜redirect-resources.js6KB
📜regex-analyzer.js8KB
📜reverselookup-worker.js12KB
📜reverselookup.js6KB
📜s14e-serializer.js38KB
📜scriptlet-filtering-core.js11KB
📜scriptlet-filtering.js13KB
📜settings.js10KB
📜start.js19KB
📜static-dnr-filtering.js18KB
📜static-ext-filtering-db.js9KB
📜static-ext-filtering.js6KB
📜static-filtering-io.js4KB
📜static-filtering-parser.js164KBlarge
📜static-net-filtering.js189KBlarge
📜storage.js61KBlarge
📜support.js11KB
📜tab.js42KB
📜tasks.js1KB
📜text-encode.js11KB
📜text-utils.js3KB
📜theme.js5KB
📜traffic.js45KB
📜ublock.js21KB
📜uri-utils.js6KB
📜url-net-filtering.js10KB
📜urlskip.js6KB
📜utils.js4KB
📜vapi-background-ext.js9KB
📜vapi-background.js62KBlarge
📜vapi-client.js8KB
📜vapi-common.js9KB
📜vapi.js2KB
📜webext.js8KB
📜whitelist.js8KB
📁lib1MB
📁codemirror613KB
📁addon116KB
📁comment9KB
📜comment.js9KB
📁display5KB
📜panel.js5KB
📁edit14KB
📜closebrackets.js7KB
📜matchbrackets.js7KB
📁fold10KB
📜foldcode.js5KB
🎨foldgutter.css435B
📜foldgutter.js5KB
📁hint19KB
🎨show-hint.css623B
📜show-hint.js19KB
📁merge40KB
🎨merge.css3KB
📜merge.js37KB
📁scroll5KB
📜annotatescrollbar.js5KB
📁search12KB
🎨matchesonscrollbar.css188B
📜searchcursor.js12KB
📁selection2KB
📜active-line.js2KB
📁lib397KB
🎨codemirror.css9KB
📜codemirror.js389KBlarge
📁mode95KB
📁css39KB
📜css.js39KB
📁htmlmixed6KB
📜htmlmixed.js6KB
📁javascript37KB
📜javascript.js37KB
📁xml13KB
📜xml.js13KB
📁theme2KB
🎨night.css2KB
📄LICENSE1KB
📄README.md2KB
📁csstree165KB
📄LICENSE1KB
📜css-tree.js164KBlarge
📁diff11KB
📄README.md1KB
📜swatinem_diff.js10KB
📁hsluv4KB
📄LICENSE1KB
📄README121B
📜hsluv-0.1.0.min.js3KB
📁js-beautify103KB
📄LICENSE1KB
📄README143B
📜beautifier.min.js102KBlarge
📁lz445KB
📄README.md2KB
📜lz4-block-codec-any.js5KB
📜lz4-block-codec-js.js9KB
📜lz4-block-codec-wasm.js7KB
lz4-block-codec.wasm1KB
📄lz4-block-codec.wat21KB
📁publicsuffixlist31KB
📁wasm10KB
📄README.md929B
publicsuffixlist.wasm408B
📄publicsuffixlist.wat9KB
📜publicsuffixlist.js21KB
📁regexanalyzer71KB
📄CHANGES.md342B
📄README.md411B
📜regex.js70KBlarge
📜punycode.js13KB
📁web_accessible_resources77KB
🖼1x1.gif43B
🖼2x2.png68B
🖼32x32.png83B
🖼3x2.png68B
📄README.txt507B
📜adthrive_abd.js139B
📜amazon_ads.js2KB
📜amazon_apstag.js2KB
📜ampproject_v0.js1KB
📜chartbeat.js1KB
🌐click2load.html960B
🌐dom-inspector.html536B
📜doubleclick_instream_ad_status.js29B
📄empty0B
🌐epicker-ui.html3KB
📜fingerprint2.js2KB
📜fingerprint3.js1KB
📜google-analytics_analytics.js4KB
📜google-analytics_cx_api.js1KB
📜google-analytics_ga.js5KB
📜google-analytics_inpage_linkid.js1004B
📜google-ima.js15KB
📜googlesyndication_adsbygoogle.js4KB
📜googletagmanager_gtm.js1KB
📜googletagservices_gpt.js5KB
📜hd-main.js2KB
📜nitropay_ads.js1KB
📜nobab.js3KB
📜nobab2.js1KB
📜noeval-silent.js1KB
📜noeval.js1KB
📜nofab.js3KB
📄noop-0.1s.mp3813B
📄noop-0.5s.mp32KB
📄noop-1s.mp44KB
📄noop-vast2.xml28B
📄noop-vast3.xml28B
📄noop-vast4.xml28B
📄noop-vmap1.xml86B
🎨noop.css6B
🌐noop.html82B
📜noop.js38B
{}noop.json2B
📄noop.txt1B
📜outbrain-widget.js2KB
📜popads-dummy.js1KB
📜popads.js2KB
📜prebid-ads.js990B
📜scorecardresearch_beacon.js1KB
📜sensors-analytics.js1KB
🌐1p-filters.html4KB
🌐3p-filters.html7KB
📄LICENSE.txt34KB
🌐about.html5KB
🌐advanced-settings.html2KB
🌐asset-viewer.html2KB
🌐background.html269B
🌐blank.html245B
🌐cloud-ui.html1KB
🌐code-viewer.html2KB
🌐dashboard.html3KB
🌐devtools.html3KB
🌐document-blocked.html3KB
🌐dyna-rules.html4KB
🌐is-webrtc-supported.html169B
🌐logger-ui.html16KB
{}managed_storage.json2KB
{}manifest.json3KB
🌐no-dashboard.html901B
🌐popup-fenix.html9KB
🌐settings.html10KB
🌐support.html6KB
🌐whitelist.html3KB

What This Extension Does

uBlock Origin is a content blocker that efficiently blocks ads, tracking, and online malicious URLs. It's designed for users who want to protect their privacy while browsing the web. With over 15 million users, it's one of the most popular Chrome extensions.

Permissions Explained

  • alarmsexpected: Allows uBlock Origin to schedule notifications and reminders.
    Technical: Accesses Chrome's alarm API, enabling scheduled events and notifications. Potential attack surface: unauthorized access to user's calendar or scheduling data.
  • contextMenusexpected: Enables uBlock Origin to create custom context menu items for users.
    Technical: Accesses Chrome's context menus API, allowing extension to inject custom menu items. Potential attack surface: unauthorized access to user's browsing history or bookmarks.
  • privacyexpected: Allows uBlock Origin to access and modify user's browsing data, including cookies and local storage.
    Technical: Accesses Chrome's privacy API, enabling extension to read and write user's browsing data. Potential attack surface: unauthorized access or modification of sensitive user data. ⚠ 1
  • storageexpected: Enables uBlock Origin to store and retrieve data locally on the user's device.
    Technical: Accesses Chrome's storage API, allowing extension to read and write local storage. Potential attack surface: unauthorized access or modification of sensitive user data.
  • tabsexpected: Allows uBlock Origin to interact with open tabs and windows.
    Technical: Accesses Chrome's tabs API, enabling extension to read and modify tab state. Potential attack surface: unauthorized access or modification of user's browsing history.
  • <all_urls>check this: Enables uBlock Origin to access all websites, including those with HTTPS encryption.
    Technical: Accesses Chrome's <all_urls> permission, allowing extension to read and modify any website's content. Potential attack surface: unauthorized access or modification of sensitive user data. ⚠ 1
  • webNavigationexpected: Allows uBlock Origin to intercept and modify web requests.
    Technical: Accesses Chrome's webNavigation API, enabling extension to read and modify web requests. Potential attack surface: unauthorized access or modification of user's browsing data.
  • webRequestexpected: Enables uBlock Origin to intercept and modify web requests.
    Technical: Accesses Chrome's webRequest API, allowing extension to read and modify web requests. Potential attack surface: unauthorized access or modification of user's browsing data.
  • webRequestBlockingexpected: Allows uBlock Origin to block web requests.
    Technical: Accesses Chrome's webRequestBlocking API, enabling extension to block web requests. Potential attack surface: unauthorized blocking of legitimate websites or services.
  • unlimitedStoragecheck this: Enables uBlock Origin to store an unlimited amount of data locally on the user's device.
    Technical: Accesses Chrome's unlimited storage permission, allowing extension to store large amounts of data. Potential attack surface: unauthorized access or modification of sensitive user data. ⚠ 1

Your Data

uBlock Origin accesses and stores user browsing data, including cookies and local storage. It also sends data to various domains, including GitHub and Crowdin.

Technical Details

domains
  • github.com
  • www.gnu.org
  • developer.mozilla.org
  • www.reddit.com
  • codemirror.net
  • bugzilla.mozilla.org
  • www.cse.yorku.ca
  • www.w3.org
  • en.wikipedia.org
  • bugs.chromium.org
  • stackoverflow.com
  • searchfox.org
protocols
  • HTTPS
  • HTTP
encryption_status
  • encrypted
  • unencrypted
data_types
  • cookies
  • tokens
  • keystrokes
  • page content

Code Findings

Eval() usedHigh

uBlock Origin uses eval(), which can execute arbitrary code. This may pose a risk if the extension is compromised or contains malicious code.

Technical: The eval() function is used in various JavaScript files, including uBlockOrigin.js and uBlockOrigin.contentScript.js. Potential attack surface: unauthorized execution of malicious code.

💡 Eval() can be used for legitimate purposes, such as dynamic code evaluation or debugging.

Dynamic JS importMedium

uBlock Origin dynamically imports JavaScript files, which may pose a risk if the extension is compromised or contains malicious code.

Technical: The extension uses dynamic import statements to load JavaScript files. Potential attack surface: unauthorized access to sensitive user data.

💡 Dynamic importing can be used for legitimate purposes, such as loading dependencies or modules.

String.fromCharCode and charCodeAtMedium

uBlock Origin uses String.fromCharCode() and charCodeAt(), which may indicate obfuscation or code protection.

Technical: The extension uses these functions in various JavaScript files, including uBlockOrigin.js and uBlockOrigin.contentScript.js. Potential attack surface: unauthorized access to sensitive user data.

💡 These functions can be used for legitimate purposes, such as encoding or decoding strings.

Makes XHR requestsInfo

uBlock Origin makes XMLHttpRequests to various domains, which may pose a risk if the extension is compromised or contains malicious code.

Technical: The extension uses the Fetch API and XMLHttpRequest objects to make requests to various domains. Potential attack surface: unauthorized access to sensitive user data.

💡 XHR requests can be used for legitimate purposes, such as loading resources or making API calls.

Creates script elements dynamicallyHigh

uBlock Origin creates script elements dynamically, which may pose a risk if the extension is compromised or contains malicious code.

Technical: The extension uses document.createElement() to create script elements. Potential attack surface: unauthorized execution of malicious code.

💡 Dynamic creation of script elements can be used for legitimate purposes, such as loading dependencies or modules.

Captures keystrokesCritical

uBlock Origin captures keystrokes, which may pose a significant risk to user privacy and security.

Technical: The extension uses keyboard event listeners to capture keystrokes. Potential attack surface: unauthorized access to sensitive user data.

💡 Keystroke capturing can be used for legitimate purposes, such as password management or form filling.

Broad host permissionsCritical

uBlock Origin has broad host permissions, which may pose a significant risk to user privacy and security.

Technical: The extension has the <all_urls> permission, allowing it to access all websites. Potential attack surface: unauthorized access or modification of sensitive user data.

💡 Broad host permissions can be used for legitimate purposes, such as content blocking or ad filtering.

Bottom Line

uBlock Origin is a popular and widely-used content blocker that efficiently blocks ads, tracking, and online malicious URLs. However, it has some concerning findings, including the use of eval(), dynamic JS import, and broad host permissions. Users should exercise caution when installing this extension and regularly review its behavior to ensure it aligns with their expectations.

Urban Vpn Proxy

61M+ users
Get the best secured Free VPN access to any website, and unblock content with Urban VPN
Make Chrome Yours/privacy

Adguard Adblocker

16M+ users
Unmatched adblock extension against advertising and pop-ups. Blocks ads on Facebook, YouTube and all other websites.
Make Chrome Yours/privacy

Ublock Origin Lite

15M+ users
An efficient content blocker. Blocks ads, trackers, miners, and more immediately upon installation.
Make Chrome Yours/privacy