Prohlížečové rozšíření, které vás varuje před podvodnými e-shopy ze seznamů České obchodní inspekce (ČOI) a Slovenskej obchodnej inšpekcie (SOI) — a detekuje další podezřelé signály přímo na stránce.
🇨🇿 + 🇸🇰 · #DělámeČeskoBezpečnější
Tento český doplněk do prohlížeče upozorní na pochybné e-shopy dříve, než přijdete o peníze — Živě.cz
Před každýma Vánocema varujeme na školeních lidi před rizikovými e-shopy. Roky jsme k tomu používali databázi ČOI + jeden starší prohlížečový doplněk — ten ale dávno není udržovaný. Tak jsme postavili nový. A od verze 1.7 podporujeme i slovenský trh přes seznam SOI.
BOIT Rizikové E-shopy v reálném čase porovnává navštívené weby s oficiálními seznamy rizikových e-shopů:
- 🇨🇿 Česká obchodní inspekce (ČOI)
- 🇸🇰 Slovenská obchodná inšpekcia (SOI)
Když na takový web přijdete, obrazovka se zabluruje a uvidíte výrazné varování. Navíc rozšíření detekuje další podvodné signály — chybějící IČO, podezřelé TLD, jen bankovní převod, extrémní slevy a další.
Žádné trackery. Žádná analytika. Žádná data ven. Všechno běží lokálně ve vašem prohlížeči.
- Kontrola proti seznamům ČOI a SOI — porovnání domény při každé návštěvě
- Výrazné varování — blur stránky + neon overlay v BOIT designu
- 7 typů detekce podvodných signálů přímo na stránce:
- Nešifrované spojení (HTTP)
- Chybějící IČO provozovatele
- Chybějící kontaktní e-mail / telefon
- Chybějící obchodní podmínky / reklamační řád
- Podezřelá TLD (
.top,.xyz,.click,.shop, …) - Pouze bankovní převod jako forma platby
- Extrémní slevy (70% a víc)
- Dynamická ikonka v toolbaru — zelená = ok, růžová s vykřičníkem = pozor
- Počítadlo ochrany — kolikrát vás rozšíření varovalo (anonymně, lokálně)
- Rozbalovací detaily — přehledné varování, podrobnosti pod „Více detailů"
- Cyberpunk vizuál — BOIT brand identity, JetBrains Mono, neon palette
- Whitelist na 24 h — pokud víte, že je web v pořádku
- Smart nahlášení podvodu —
.skdoména → SOI, ostatní → ČOI (jedním klikem, předvyplněný e-mail) - Automatická aktualizace seznamů — paralelně oba zdroje každých 6 hodin
- Žádné trackery, žádná analytika, žádné reklamy
- Vše běží lokálně — jediné síťové operace jsou stažení seznamů z
coi.gov.czasoi.sk - Firefox AMO „no data collected" badge — manifest deklaruje
data_collection_permissions: ["none"], takže Firefox uživateli při instalaci i vabout:addonsexplicitně potvrzuje, že žádná data nesbíráme - Hardened proti bypass pokusům:
- Closed Shadow DOM (
mode: 'closed') — stránka se nedostane k vnitřkům overlaye - MutationObserver — pokud stránka odstraní overlay, znovu se vloží
- Blur přes injected
<style>s!important— nelze přepsat zelement.style isTrustedvalidace na všech tlačítkách — synthetic clicks z page scriptu jsou ignorovány
- Closed Shadow DOM (
Pro Chrome, Edge, Brave, Vivaldi, Opera, Arc a další Chromium prohlížeče.
Pro Firefox 140+ (desktop) a Firefox for Android 142+.
git clone https://github.com/spajk-cz/BOIT-Rizikov-E-shopy.gitChrome / Chromium prohlížeče:
- Otevři
chrome://extensions/ - Zapni Developer mode (vpravo nahoře)
- Klikni Load unpacked
- Vyber složku s rozbaleným repozitářem
- Hotovo
Firefox:
- Otevři
about:debugging#/runtime/this-firefox - Klikni Load Temporary Add-on…
- Vyber soubor
manifest.jsonv rozbaleném repozitáři - Doplněk poběží do restartu prohlížeče (pro permanentní instalaci je třeba signed build z AMO)
- Manifest V3 (Chrome 110+, Firefox 140+ desktop, Firefox for Android 142+)
- Vanilla JavaScript (žádné build nástroje, žádné dependencies)
- Non-persistent background script (service worker v Chromium, event page ve Firefoxu)
- Content Script s isolated world + closed Shadow DOM
boit-rizikove-eshopy/
├── manifest.json # MV3 manifest, CSP, permissions
├── background.js # Background — fetch, cache, message routing
├── content.js # Detekce + injection overlay (hardened)
├── popup.html/css/js # Toolbar popup UI
├── icons/ # Ikonky safe/risky × 4 velikosti
├── PRIVACY.md # Privacy policy
└── LICENSE # MIT
┌─────────────┐ ┌──────────────────┐
│ coi.gov.cz │ ──┐ │ │
└─────────────┘ │ fetch každých │ background.js │
├─ 6h,paralelně ─▶│ (event page / │
┌─────────────┐ │ Promise.all │ service worker) │
│ soi.sk │ ──┘ └────────┬─────────┘
└─────────────┘ │ merge → storage.local
▼
┌─────────────┐ CHECK_DOMAIN ┌──────────────────┐
│ content.js │ ──────────────────▶ │ message handler │
│ (každý web) │ ◀────────────────── │ → cached domains │
└──────┬──────┘ isRisky? └──────────────────┘
│
▼ injectWarning() — closed shadow DOM + MutationObserver
┌─────────────────┐
│ varovný overlay │
└─────────────────┘
| Permission | Důvod |
|---|---|
storage |
Cache seznamů ČOI/SOI, nastavení, statistiky — vše lokálně |
alarms |
Periodická aktualizace seznamů (6h interval) |
tabs |
Aktualizace ikonky a stavu pro aktivní tab |
host_permissions: coi.gov.cz |
Stahování oficiálního seznamu ČOI |
host_permissions: www.soi.sk |
Stahování oficiálního seznamu SOI |
content_scripts na všech webech |
Kontrola domény proti seznamům |
Tato extension nesbírá, neukládá ani nepřenáší žádné osobní údaje. Všechna data zůstávají v prohlížeči.
Jediné síťové operace jsou stažení seznamů domén z coi.gov.cz a www.soi.sk (každých 6 hodin) — bez cookies, bez identifikátorů (credentials: 'omit').
Plné znění viz PRIVACY.md.
PRs welcome! Pár pravidel:
- Bezpečnost před features — žádný kód co by snížil hardening overlaye
- Žádné runtime dependencies — vanilla JS, žádné npm balíčky v extension build
- Test bypass scénářů — pokud měníš overlay, zkus si pustit
bypass-test.js
Issues a feature requesty vítány. Zvlášť pokud najdete:
- Bypass overlaye, kterou jsme nezachytili
- False-positive na legitimním e-shopu
- Chybu v parseru ČOI / SOI seznamu
- v1.0 — MVP: detekce + overlay
- v1.5 — Heatmap signálů, počítadlo, report tlačítko
- v1.6 — Closed Shadow DOM hardening
- v1.7 — 🇸🇰 SOI integrace + 🦊 Firefox / Firefox for Android port (Manifest V3)
- v1.8 — Detekce typosquatu (Levenshtein vůči TOP 100 CZ/SK e-shopů)
- v1.9 — Whois lookup pro nedávno zaregistrované domény
- v2.0 — Crowdsourced report API (volitelný opt-in)
- 🇸🇰 Přidána podpora SOI (Slovenská obchodná inšpekcia) jako druhý zdroj dat
- 🦊 Firefox port — doplněk dostupný i pro Firefox 140+ (desktop) a Firefox for Android 142+
- 🔒 Firefox manifest deklaruje
data_collection_permissions: ["none"]— explicitní "no data collected" badge v installeru - 🔧 Refactored parser: nová strategie pro
<a>link strukturu (SOI), multi-domain split po čárkách - 🎯 Smart routing nahlášení podvodu:
.sk→ SOI, ostatní → ČOI - 🎨 Popup UI: dva oddělené odkazy pro ČOI (CZ) a SOI (SK)
- Closed Shadow DOM hardening + MutationObserver
- Blur přes injected
<style>s!important isTrustedvalidace na tlačítkách
- Heatmap rizikových signálů (7 typů detekce)
- Počítadlo "BOIT tě ochránil ×"
- Report tlačítko s předvyplněným e-mailem
Vytvořeno v BOIT Cyber Security s.r.o. — etický hacking, penetrační testy, sociální inženýrství, školení.
Hlavní autor: Pavel „Spajk" Matějíček (LinkedIn · spajk.cz)
Posloucháte podcast „Místo kyberčinu" od O2? My ho děláme.
MIT — viz LICENSE.
To znamená: použij, fork, modifikuj, prodávej. Jen na nás laskavě nezapomeň.
- Web: boit.cz
- Další BOIT nástroje: boit.cz/nastroje
- LinkedIn: BOIT Cyber Security
- Kontakt: info@boit.cz
- Zdroj dat (CZ): coi.gov.cz/rizikove-e-shopy
- Zdroj dat (SK): soi.sk/rizikove-internetove-obchody