Jak odhalit skryté skripty pro těžbu kryptoměn, které vám na pozadí zpomalují internetový prohlížeč

Co vlastně těžební skript dělá a proč zpomaluje prohlížeč

Těžební skript, často označovaný jako cryptojacking script, využívá výpočetní výkon vašeho zařízení k těžbě kryptoměn, nejčastěji Monera. V praxi jde o JavaScript nebo vložený kód, který běží na pozadí webové stránky, případně v rozšíření prohlížeče. Uživatel si všimne hlavně toho, že se stránka seká, CPU skáče na 60 až 100 %, notebook se zahřívá a mobilní zařízení se rychle vybíjí.

Podle bezpečnostních zpráv se tyto útoky objevují nejčastěji na napadených webech, v reklamních sítích, ve slabě zabezpečených CMS instalacích a v neověřených doplňcích prohlížeče. Nebývá výjimkou, že škodlivý skript běží jen při otevření konkrétní podstránky nebo po určitém uživatelském chování, což ztěžuje odhalení.

První signály: jak poznat, že problém není jen v pomalém webu

Než začnete hledat konkrétní kód, je dobré ověřit, zda skutečně nejde o těžební skript. Typické příznaky jsou poměrně jednoznačné:

  • neobvykle vysoké zatížení procesoru i při běžném prohlížení webu,
  • ventilátor běží naplno hned po otevření jedné konkrétní stránky,
  • zpomalení je výraznější v prohlížeči než v jiných aplikacích,
  • vysoká spotřeba baterie na notebooku nebo mobilu,
  • podezřelé skoky v síťové aktivitě, i když stránka na pohled nic nestahuje.

Uživatelé často zaměňují těžební skript za špatně optimalizovanou stránku. Rozdíl je v tom, že běžně pomalý web zatěžuje hlavně načítání zdrojů, zatímco cryptojacking drží procesor dlouhodobě vysoko i po dokončení načtení stránky.

Rychlá diagnostika v prohlížeči: DevTools, Správce úloh a síťová aktivita

Nejrychlejší cesta vede přes vestavěné nástroje prohlížeče. V Chromu, Edge i Firefoxu otevřete Správce úloh prohlížeče nebo vývojářské nástroje. V Chromu například přes Shift + Esc zjistíte, který panel, rozšíření nebo karta spotřebovává nejvíc paměti a CPU. Pokud konkrétní karta dlouhodobě drží 30–80 % procesoru bez zjevného důvodu, je to jasný varovný signál.

Ve vývojářských nástrojích otevřete záložku Performance a zaznamenejte několik sekund běhu stránky. Hledejte dlouhé JavaScriptové úlohy, opakované cykly a anomálie v hlavním vlákně. Těžební skripty často vytvářejí stabilní, nepřerušovaný výkon bez výrazných pauz. V záložce Network sledujte spojení na podezřelé domény, zejména pokud jsou minifikované, skryté za CDN nebo se opakovaně obnovují přes WebSocket.

Praktický test je jednoduchý: otevřete stejnou stránku v anonymním okně bez rozšíření. Pokud zatížení náhle klesne, problém bude pravděpodobně v doplňku nebo v injektovaném skriptu. Pokud zátěž zůstane, je zdroj přímo na webu nebo v jeho načtených externích knihovnách.

Jak odhalit škodlivý kód v HTML, JavaScriptu a rozšířeních

U správců webu je klíčové zkontrolovat, zda se do stránky nedostal cizí JavaScript. Projděte šablony, hlavičku i patičku webu a hledejte:

  • neznámé <script src> odkazy na neověřené domény,
  • vložení přes Google Tag Manager bez dokumentace,
  • zakódovaný nebo zkrácený JavaScript v HTML komentářích,
  • obfuskovaný kód s funkcemi jako eval(), atob(), setInterval() v podezřelých smyčkách,
  • nové soubory v adresářích /wp-content/, /assets/ nebo /plugins/, které tam nepatří.

V případě WordPressu bývá častým zdrojem problémů kompromitovaný plugin nebo šablona. Zkontrolujte poslední aktualizace, deaktivujte doplňky po jednom a sledujte změnu výkonu. Pokud se zatížení po vypnutí konkrétního pluginu výrazně sníží, máte viníka téměř jistého. U rozšíření v prohlížeči platí totéž: odstraňte vše, co nepoužíváte, a ponechte jen ověřené doplňky s jasným vývojářem a pravidelnými aktualizacemi.

Pro hlubší kontrolu se hodí nástroje jako VirusTotal pro ověření domén a souborů, webhint nebo BuiltWith pro inventuru technologií a bezpečnostní audity přes OWASP ZAP. U větších webů je vhodné provést i kontrolu serverových logů, kde lze najít neobvyklé požadavky na podezřelé soubory nebo opakované volání cizích skriptů.

Jak ověřit, že jde opravdu o těžbu kryptoměn, a ne o jiný typ útoku

Ne každý škodlivý skript těží kryptoměny. Některé kódy slouží k přesměrování reklamy, krádeži dat nebo k fingerprintingu zařízení. U cryptojackingu bývá charakteristické, že zatížení CPU je dlouhodobé a relativně rovnoměrné. Typicky se projevuje i při vypnutém videu, bez interakce a bez viditelného obsahu na stránce.

Pomůže porovnání s několika známými indikátory:

  • CPU: trvale vysoké využití jednoho nebo více jader,
  • GPU: u některých variant zvýšená zátěž grafiky,
  • síť: časté malé pakety směrem k těžebnímu poolu nebo proxy,
  • čas: výkon se vrací k normálu po zavření konkrétní karty.

Pokud máte podezření na konkrétní doménu, můžete ji otestovat ve více prostředích. Jedna a tatáž stránka se může chovat jinak v různých prohlížečích. Rozdíl bývá dán blokátory skriptů, sandboxem nebo tím, že škodlivý kód detekuje pouze určité zařízení.

Jak se bránit: blokace, aktualizace, monitoring a prevence do budoucna

Nejspolehlivější obranou je kombinace technických a provozních opatření. Na straně uživatele pomáhá uBlock Origin nebo jiný kvalitní blokátor skriptů, vypnutí nepotřebných rozšíření a pravidelné aktualizace prohlížeče. U firemních zařízení má smysl nasadit centrální správu doplňků a zakázat instalaci neověřených pluginů.

Správci webů by měli kontrolovat integritu souborů, zavést monitoring změn v šablonách a používat bezpečnostní pluginy nebo WAF. U WordPressu je praktické hlídat zejména:

  • aktualizace jádra, pluginů a motivu,
  • omezení práv k zápisu do souborů,
  • dvoufaktorové ověření administrace,
  • pravidelné zálohy mimo hosting,
  • revizi vložených skriptů v Google Tag Manageru a analytice.

V prostředí e-shopů a firemních webů je vhodné nastavit alerty na neobvyklý nárůst CPU na serveru i v klientském prohlížeči. Pokud provozujete větší web, sledujte také změny v Core Web Vitals, zejména LCP a INP. Náhlé zhoršení může signalizovat nový skript, který prodlužuje hlavní vlákno a zdržuje interakci uživatele. U některých útoků se výkon zhorší jen na mobilu, protože zařízení má slabší procesor a útok je vidět rychleji než na desktopu.

Pokud chcete mít jistotu, že se problém nevrací, vyplatí se zavést jednoduchý kontrolní postup: jednou týdně zkontrolovat seznam rozšíření, jednou měsíčně projít aktivní skripty na webu a průběžně porovnávat výkonnostní data z analytiky. Uživatelé, kteří reagují včas, obvykle zabrání nejen zpomalení prohlížeče, ale i dalšímu šíření škodlivého kódu po webu nebo v interní síti.