Po co nam tyle dystrybucji bezpieczeństwa? Krótki kontekst techniczny
W świecie cyberbezpieczeństwa Linux odgrywa szczególną rolę – to fundament wielu narzędzi i środowisk do testów bezpieczeństwa, analizy incydentów czy ochrony prywatności. Zwykła dystrybucja Ubuntu czy Fedora oczywiście może zostać wyposażona w potrzebne programy, ale istnieją gotowe systemy tworzone z myślą o konkretnych zadaniach.
Test penetracyjny (ang. penetration test, potocznie pentest) to kontrolowany, celowy atak symulowany na system informatyczny, aplikację lub sieć, przeprowadzany w celu oceny bezpieczeństwa tego systemu. Innymi słowy, jest to zaplanowane “hakowanie” własnej infrastruktury – etyczny atak wykonywany za zgodą właściciela systemu.
W świecie cyberbezpieczeństwa Blue Team często korzysta z matrycy MITRE ATT&CK do mapowania taktyk i technik ataków przeciwnika. A co z naszą własną defensywą? Czy potrafimy równie przejrzyście zobrazować, jak broni się nasza organizacja? W tym artykule zobaczymy, jak framework MITRE D3FEND pomaga zbudować wizualną mapę obrony – swoisty dashboard defensywny zespołu SOC. Zamiast domyślać się, gdzie mamy luki, zwizualizujemy techniki obrony tak, by od razu wskazać mocne punkty i obszary wymagające uwagi.
Nowa fala ataków botnetu RondoDox celuje w serwery XWiki, wykorzystując krytyczną podatność CVE-2025-24893 (CVSS 9.8), która umożliwia zdalne wykonanie kodu bez uwierzytelnienia. Zaatakowane instancje są włączane do sieci botnetu i wykorzystywane w kolejnych kampaniach. Informację o nowej taktyce RondoDox potwierdził m.in. serwis BleepingComputer.
W skrócie
Co się dzieje: RondoDox aktywnie skanuje i atakuje niezaktualizowane XWiki, wykorzystując CVE-2025-24893.
Dlaczego to groźne: Luka pozwala gościowi (niezalogowanemu) uruchomić kod na serwerze XWiki.
Skala/tempo: Eksploatacja tej podatności szybko się upowszechniła — od pojedynczego aktora do wielu grup (botnety, koparki, skanery).
Status w KEV: CISA dodała CVE-2025-24893 do katalogu Known Exploited Vulnerabilities 30 października 2025 r.
Remediacja: Luka załatana w XWiki 15.10.11, 16.4.1 i 16.5.0RC1.
Kontekst / historia / powiązania
Badacze VulnCheck zwrócili uwagę, że po pierwszych oznakach użycia CVE-2025-24893 do exploitu, w krótkim czasie dołączyły kolejne grupy: botnety, górnicy kryptowalut i oportunistyczni skanerzy. To klasyczny wzorzec „efektu kuli śnieżnej” po publikacji technicznych szczegółów luki. Równolegle media branżowe raportują o „wzmożonej eksploatacji” XWiki w ostatnich dniach, a BleepingComputer precyzuje, że jednym z beneficjentów tej luki jest właśnie botnet RondoDox.
Analiza techniczna / szczegóły luki
CVE-2025-24893 dotyczy sposobu, w jaki XWiki przetwarza treści szablonów/makro w zapytaniach (m.in. kanał RSS wyszukiwarki Solr). Atakujący mogą wstrzyknąć i wykonać Groovy w kontekście serwera — bez logowania. NVD podaje nawet prosty test na podatność, który wykrywa wykonanie kodu w tytule zwracanego feedu RSS. Skutkiem jest pełne zdalne wykonanie kodu (RCE). Broadcom/Symantec opisuje to jako możliwość wstrzyknięcia i wykonania dowolnego kodu Groovy przez spreparowane żądania.
Praktyczne konsekwencje / ryzyko
W praktyce przejęty serwer XWiki może zostać:
włączony do infrastruktury RondoDox (DDoS, pivot na inne cele, utrzymywanie C2),
wykorzystany do doinstalowania dodatkowego malware (koparki, skanery),
użyty jako przekaźnik/proxy w kolejnych atakach. Szybka, wieloaktorowa adopcja exploitu zwiększa ryzyko masowych kompromitacji w krótkim czasie.
Rekomendacje operacyjne / co zrobić teraz
Natychmiast aktualizuj XWiki do wersji 15.10.11, 16.4.1 lub 16.5.0RC1 (lub nowszej gałęzi naprawczej zgodnej z Twoją linią).
Zastosuj reguły WAF/IPS blokujące charakterystyczne ciągi/makra w endpointach wyszukiwarki/RSS oraz monitoruj nietypowe wywołania makr (np. {{groovy}}). (Wniosek na podstawie szczegółów NVD i opisów w Broadcom.)
Sprawdź kompromitację: logi aplikacyjne i reverse proxy dla nietypowych zapytań do /xwiki/bin/get/...SolrSearch?media=rss..., nowo utworzone konta, modyfikacje skryptów/makr, zadania cron, nieznane procesy powłoki. (Na bazie wektora z NVD.)
Segmentacja i zasada najmniejszych uprawnień: ogranicz ekspozycję XWiki do zaufanych sieci/VPN, odizoluj serwer od krytycznych segmentów. (Dobra praktyka bezpieczeństwa, wzmacniana przez obserwacje VulnCheck nt. szybkiej adopcji exploitu.)
Śledź KEV CISA i wdrażaj priorytetowe poprawki dla pozycji w katalogu (CISA KEV = aktywnie wykorzystywane).
Różnice / porównania z innymi przypadkami
W odróżnieniu od wielu wcześniejszych błędów XWiki (np. dotyczących właściwości klas czy nadużyć edytora), CVE-2025-24893 zapewnia RCE dla gościa poprzez przetwarzanie treści w publicznych endpointach (np. RSS Solr), co radykalnie zwiększa ryzyko skanów/automatyzacji przez botnety takie jak RondoDox. W efekcie czas od publikacji szczegółów do masowych nadużyć był wyjątkowo krótki.
W ekosystemie Node.js wykryto siedem złośliwych paczek, które nadużywają chmurowej usługi Adspect (mechanizmy „cloaking”) do rozróżniania badaczy od potencjalnych ofiar i przekierowywania tych drugich na strony oszustw krypto. Paczki publikował autor „dino_reborn” (e-mail geneboo@proton[.]me) między wrześniem a listopadem 2025 r. — sześć z nich zawierało złośliwy kod, jedna służyła do budowy „białej” strony przynęty.
Nazwy zgłoszonych pakietów: signals-embed, dsidospsodlks, applicationooks21, application-phskck, integrator-filescrypt2025, integrator-2829, integrator-2830. Według badaczy Socket, po zgłoszeniach trafiły do „security holding” w npm.
W skrócie
Cel: wyłudzanie przez przekierowania na strony krypto-scam z fałszywą CAPTCHA (Ethereum/Solana/Uniswap/Jupiter).
Techniki: fingerprinting przeglądarki i adresu IP, Adspect API do klasyfikacji ruchu, IIFE autostart, blokada F12/Ctrl+U/Ctrl+Shift+I, wykrywanie DevTools i force-reload.
Infrastruktura: proxy aktora (appprotector[.]online, protectorapp[.]online, association-google[.]xyz) ukrywa strukturę Adspect i zbiera prawdziwe IP ofiary; parametry identyfikacyjne kampanii ADSPECT_STREAM_ID różnią się między pakietami.
Status: paczki oznaczone i blokowane przez npm po zgłoszeniach.
Kontekst / historia / powiązania
Kampania wpisuje się w szerszą falę ataków na łańcuch dostaw npm w 2025 r., obejmującą m.in. przejęcia kont maintainerów oraz masowe publikacje złośliwych bibliotek (np. incydent z kompromitacją chalk/debug i kilkunastu innych projektów o miliardowych tygodniowych pobraniach). W ostatnich miesiącach raportowano również kampanie z fałszywymi CAPTCHA i wielowarstwową obfuskacją.
Analiza techniczna / szczegóły luki
Łańcuch wykonania w przeglądarce. Złośliwy kod (ok. 39 kB) uruchamia się automatycznie dzięki IIFE po załadowaniu do aplikacji webowej ofiary (np. przez import skompromitowanej paczki). Skrypt zbiera charakterystyki środowiska (user-agent, host, referrer, URI, query string, protokół, język, kodowanie, akceptowane typy treści, port, timestamp) i wysyła je do proxy aktora (np. …/adspect-proxy.php). Proxy ustala realne IP odwiedzającego i pośredniczy w wywołaniach do Adspect API, które klasyfikuje wizytę (white/black).
Cloaking i anty-analiza. Jeśli Adspect oceni wizytę jako badawczą, serwowana jest „biała” witryna (np. fikcyjna strona Offlido) w celu zatarcia śladów; w przeciwnym razie ofiara widzi fałszywą CAPTCHA brandowaną (np. standx[.]com, Uniswap, Jupiter), której interakcja inicjuje przekierowanie do docelowego URL zdefiniowanego po stronie Adspect. Dodatkowo kod:
blokuje prawy przycisk myszy i kombinacje F12/Ctrl+U/Ctrl+Shift+I,
restartuje stronę po wykryciu otwartych DevTools,
używa kontenera docelowego (TARGET_CONTAINER, np. signals-embed-root), łącząc poszczególne pakiety kampanii.
Konfiguracja kampanii. Każdy pakiet ma swój ADSPECT_STREAM_ID oraz zestaw domen-proxy (appprotector[.]online, protectorapp[.]online, association-google[.]xyz) i plików pomocniczych (adspect-file.php, adspect-proxy.php). Różnice konfiguracyjne pozwalają śledzić warianty i skuteczność strumieni w Adspect.
Praktyczne konsekwencje / ryzyko
Aplikacje webowe wciągające złośliwe pakiety do frontendu mogą przekierowywać użytkowników na strony oszustw poza wiedzą zespołu dev. Ryzyko reputacyjne i prawne (phishing/malvertising pochodzący z Waszej domeny).
Utrudniona analiza: klasyczny monitoring i manualne „podglądy” kodu bywają bezużyteczne (cloaking, anty-debug), co zwiększa czas detekcji i koszty IR.
Trend rosnący: kampanie npm coraz częściej łączą typosquatting, obfuskację, fałszywe CAPTCHA i fingerprinting — a niekiedy również dołączają infostealery multi-OS.
Rekomendacje operacyjne / co zrobić teraz
1) Natychmiastowa higiena zależności
Zablokuj/usuń z buildów nazwy paczek wskazane w artykule; przeszukaj lockfile i SBOM pod kątem signals-embed, dsidospsodlks, applicationooks21, application-phskck, integrator-filescrypt2025, integrator-2829, integrator-2830.
Wdróż pinning (exact versions), npm --ignore-scripts w CI tam, gdzie to możliwe, oraz mirror/allow-list dla rejestru. (Praktyka szeroko rekomendowana po wrześniowych incydentach).
2) Detekcja artefaktów kampanii (IoC i zachowania)
Wzorce w kodzie: ADSPECT_STREAM_ID, TARGET_CONTAINER, IIFE z funkcjami blokującymi DevTools, wywołania do rpc.adspect[.]net/v2/ przez proxy.
3) Twardnienie frontendu i obserwowalność
Treść-Security: CSP z default-src 'self' i restrykcyjnym connect-src, SRI dla skryptów, blokada window.open bez interakcji użytkownika; monitorowanie Content Security Policy violation reports. (Skuteczne przeciw nieautoryzowanym przekierowaniom.) — w kontekście tej kampanii ogranicza ładowanie skryptów i wywołań proxy.
Telemetria RUM: loguj niespodziewane przekierowania/tab open i anomalie UA/locale.
4) Procesy i governance
Pre-prod review dla zmian w zależnościach (4-eyes), skan SCA przed merge, w tym reputacja maintainerów i „first-party risk” z npm.
Incident response: jeśli strona mogła serwować fałszywą CAPTCHA/przekierowania, wyświetl komunikat użytkownikom, zweryfikuj kliknięcia i kampanie marketingowe, skonsultuj aspekt prawny/reklamowy.
Różnice / porównania z innymi przypadkami (jeśli dotyczy)
W poprzednich kampaniach npm dominowały typosquatting + infostealer instalowany lokalnie u dewelopera. Tu złośliwy kod działa po stronie przeglądarki użytkownika, wykorzystując cloaking Adspect do „odfiltrowania” badaczy i uniknięcia wykrycia — to taktyka bliższa malvertisingowi niż typowemu „post-install malware”.
Kampania dino_reborn używa Adspect jako usługi (API + strumienie). To odróżnia ją od masowych trojanizacji pakietów (np. wrześniowy incydent chalk/debug), gdzie wektor był inny (kompromitacja kont maintainerów i wstrzyknięcie ładunków w popularne biblioteki).
Podsumowanie / kluczowe wnioski
Atak pokazuje, że łańcuch dostaw JavaScript nie dotyczy już tylko masowych infostealerów u devów — frontend użytkownika końcowego staje się celem poprzez import „pozornie niewinnych” paczek. Wykorzystanie Adspect (cloaking-as-a-service) znacząco utrudnia analizę i wydłuża czas wykrycia. Organizacje powinny zacieśnić politykę zależności, wdrożyć CSP/SRI, śledzić IoC Adspect oraz szybko izolować projekty, w których wykryto wskazane nazwy paczek.
Źródła / bibliografia
BleepingComputer — „Malicious NPM packages abuse Adspect redirects to evade security”, 17 listopada 2025. (BleepingComputer)
Socket Threat Research — „npm Malware Campaign Uses Adspect Cloaking to Deliver Malicious Redirects”, 17 listopada 2025 (analiza techniczna, IoC). (Socket)
The Hacker News — raport o kampanii npm z fałszywą CAPTCHA i warstwową obfuskacją (kontekst trendu), 10–29 października 2025. (The Hacker News)
Policja w Niderlandach (Politie) poinformowała, że 12 listopada 2025 r. przejęła infrastrukturę złożoną z ok. 250 fizycznych serwerów należących do dostawcy tzw. bulletproof hostingu. Usługodawca reklamował pełną anonimowość i brak współpracy z organami ścigania; jego zasoby były wykorzystywane wyłącznie do działalności przestępczej (ransomware, botnety, phishing, a nawet dystrybucja materiałów CSAM). Serwery stały w Hadze i Zoetermeer, a ich zajęcie wyłączyło tysiące serwerów wirtualnych obsługiwanych na tej infrastrukturze.
W skrócie
Data operacji: 12 listopada 2025 r.; komunikat policji: 14 listopada 2025 r.
Skala: ~250 serwerów fizycznych; skutkowe wyłączenie tysięcy VM.
Miejsca: data centers w Hadze i Zoetermeer.
Historia sprawy: hoster przewijał się w >80 postępowaniach od 2022 r.
Aresztowania: na tym etapie brak informacji o zatrzymaniach.
Identyfikacja dostawcy: nazwa nieujawniona; media łączą sprawę z CrazyRDP (informacja niepotwierdzona przez Policję).
Powiązania z Operacją Endgame: równoległe działania w NL (przeszukania, 83 serwery i 20 domen) – sprawy są rozłączne według Policji cytowanej przez BleepingComputer.
Kontekst / historia / powiązania
„Bulletproof hosting” to segment usług, w którym operatorzy celowo ignorują abuse i wnioski o usunięcie treści, nie egzekwują KYC, dopuszczają płatności krypto i promują anonimowość klientów. Tego typu platformy są ekosystemowym „multiplikatorem” dla kampanii ransomware, phishingu, C2 botnetów i baz wykradzionych danych. Opisywany hoster działał co najmniej od 2022 r., a jego zasoby pojawiały się w wielu dochodzeniach zarówno w NL, jak i za granicą.
W tym samym tygodniu Europol ogłaszał kolejny etap Operation Endgame (ponad 1 025 serwerów zaburzeń/zdjętych globalnie, 20 domen, 11 przeszukań, w tym 9 w NL), jednak niderlandzka Policja – za pośrednictwem BleepingComputer – wskazała, że te dwa wątki nie są ze sobą połączone.
Analiza techniczna / szczegóły luki
Warstwa fizyczna i wirtualna: zajęto ~250 „metalowych” serwerów, co „kaskadowo” wyłączyło tysiące instancji wirtualnych (VPS/RDP), typowych dla tanich, łatwo skalowalnych hostów wybieranych przez przestępców.
Model usługowy: oferta bez-KYC, „no-logs”, akceptacja krypto – minimalizuje ślady transakcyjne, utrudniając atrybucję.
Profil użycia: C2 dla botnetów, infrastrukturę phishingową, staging malware i – w skrajnych przypadkach – CSAM. To mieszanka, którą Policja wprost przypisała temu hosterowi.
(Nie)ujawniona tożsamość: BleepingComputer wskazuje na CrazyRDP na podstawie źródeł i obserwacji (m.in. nagłe czyszczenie kanału Telegram, skargi klientów), lecz bez potwierdzenia organów – stąd należy traktować to jako hipotezę, nie fakt.
Praktyczne konsekwencje / ryzyko
Zakłócenie kampanii: odcięcie tysięcy VM to natychmiastowe przerwanie wielu łańcuchów ataku (hosting payloadów, panele C2, landing pages). Krótkoterminowo można oczekiwać spadku wolumenu z danego ekosystemu.
Efekt rozproszenia: operatorzy przestępczy zwykle migrują do alternatywnych hosterów lub budują nową infrastrukturę – jednak koszt, czas i ryzyko ekspozycji rosną. (Wątek ten potwierdza praktyka obserwowana przy równoległej Operacji Endgame).
Ryzyko wtórne dla legalnych klientów DC: doniesienia lokalnych mediów i społeczności NL sugerują, że akcja dotyczyła konkretnych klientów kolokacyjnych, a nie całych obiektów; mimo to incydenty tego typu mogą chwilowo dotknąć współlokatorów (np. zajęcie błędnie zidentyfikowanych maszyn).
Rekomendacje operacyjne / co zrobić teraz
Hunting & telemetry:
Przejrzyjcie ostatnie DNS/HTTP egress i połączenia do instancji w NL (The Hague/Zoetermeer), które nagle „zamilkły” po 12.11 – to potencjalne wskaźniki wcześniejszego C2/hostingów.
Korelujcie alerty „orphaned beacons” w EDR/NDR po nagłym zniknięciu serwerów C2.
Blokady sieciowe:
Tymczasowe sinkhole/blackhole dla znanych zakresów AS-ów i adresacji powiązanych z wyłączoną infrastrukturą (gdy tylko pojawią się IOCs z dochodzenia – śledźcie komunikaty Policji/Europolu).
Phishing & web defense:
Zaostrzyć WAF/anty-phishing dla świeżych domen i tanich TLD; hosterzy bulletproof często rotują „jednodniowe” domeny i certyfikaty DV.
Procesy wewnętrzne:
Aktualizujcie playbooki IR o scenariusz „masowe wyłączenie C2 u dostawcy”, aby szybciej identyfikować „martwe” kanały i zastępować je detekcjami host-based.
Threat intel:
Monitorujcie komunikaty Policji NL oraz źródła branżowe (BleepingComputer, Tweakers, NL Times) pod kątem publikacji zakresów IP/AS, hashy i domen wynikłych z analizy powłamaniowej przejętej infrastruktury.
Różnice / porównania z innymi przypadkami (jeśli dotyczy)
W lutym 2025 r. holenderska Policja wyłączyła 127 serwerów należących do innego bulletproof hostera (ZServers), co odbywało się pod parasolem sankcji–dochodzeń międzynarodowych. Obecna akcja jest większa na poziomie skutku (tysiące VM) i dotyczy innego podmiotu; dodatkowo – w odróżnieniu od wątków Endgame – Policja podkreśla brak powiązania między obiema historiami.
Podsumowanie / kluczowe wnioski
Trafione węzły infrastruktury przestępczej mają realny, natychmiastowy efekt na wolumen kampanii.
Tożsamość hostera nie została oficjalnie ujawniona; łączenie z konkretnymi markami (np. CrazyRDP) pozostaje niepotwierdzone.
Obrońcy powinni wykorzystać okno obserwowalności (nagłe wyciszenie C2/hostingów) do huntingu i aktualizacji detekcji.
Ekosystem przestępczy ma tendencję do odbudowy – kluczowa jest szybkość publikacji i konsumpcji IOC oraz współpraca z LE.
Źródła / bibliografia
Komunikat Policji NL (14.11.2025): szczegóły operacji, skala (250 fiz.), lokalizacje, >80 spraw od 2022 r. (Politie)
Google ogłosiło, że wprowadzi do Sklepu Play ostrzeżenia dla aplikacji, które nadmiernie drenują baterię poprzez długotrwałe utrzymywanie partial wake locks (blokad uniemożliwiających uśpienie CPU przy wyłączonym ekranie). Nowa polityka opiera się na metryce “excessive partial wake locks” w Android Vitals i będzie wpływała zarówno na widoczność aplikacji, jak i komunikaty ostrzegawcze widoczne dla użytkowników na kartach aplikacji. Zmiany zaczną obowiązywać od 1 marca 2026 r..
W skrócie
Nowa metryka Android Vitals: „excessive partial wake locks” mierzy sesje użytkownika, w których czas skumulowanych, nie-wyłączonych (non-exempt) wake locków > 2h w ciągu 24h. Jeżeli ≥5% sesji z ostatnich 28 dni spełnia ten warunek, aplikacja przekracza próg „złego zachowania”.
Skutki: aplikacja może zostać wyłączona z kluczowych powierzchni rekomendacyjnych Sklepu Play i/lub otrzyma czerwony komunikat ostrzegawczy na stronie listingu: że „może zużywać więcej baterii niż oczekiwano z powodu wysokiej aktywności w tle”. Wejście w życie: 1.03.2026.
Kto to wymyślił: metryka była w becie od kwietnia, a algorytm Google rozwijało wspólnie z Samsungiem; teraz jest GA.
Kontekst / historia / powiązania
Android od lat walczy z aplikacjami, które „przytrzymują” urządzenie w stanie aktywnym bez korzyści dla użytkownika. Wcześniej Google promowało praktyki ograniczania pracy w tle (JobScheduler/WorkManager) oraz monitorowania energii (Batterystats/Battery Historian). Nowa metryka włącza te zasady do twardego progu jakości technicznej Android Vitals — obok crash rate czy ANR rate — i wiąże je z algorytmiczną widocznością w Play. To zmienia rekomendacje w wymogi: zignorowanie problemu będzie miało realny wpływ na wzrost/instale.
Analiza techniczna / szczegóły metryki
Czym jest partial wake lock? To mechanizm utrzymujący CPU w stanie aktywnym przy zgaszonym ekranie, aby aplikacja mogła wykonywać pracę w tle (np. synchronizację). Nadużywany — potrafi wyssać baterię w nocy.
Definicje Google dla metryki:
Sesja użytkownika jest „excessive”, gdy >2h skumulowanych nie-wyłączonych partial wake locków w okresie 24h. Wyłączenia (exemptions) obejmują m.in. odtwarzanie audio czy transfer zainicjowany przez użytkownika.
Próg złego zachowania: jeśli ≥5% sesji z 28 dni jest „excessive”.
Konsekwencje w Play: ograniczenie ekspozycji w discovery i możliwe publiczne ostrzeżenie na listingu aplikacji. Start egzekwowania: 1 marca 2026 r..
Jak Google wykrywa problem? Zespół połączył dane platformy z „real-world insights” od Samsunga i feedbackiem deweloperów z bety (od kwietnia), kalibrując algorytm pod rzeczywiste wzorce drenażu.
Praktyczne konsekwencje / ryzyko
Dla deweloperów:
Ryzyko spadku instalacji (mniejsza widoczność) i zaufania (ostrzeżenie na stronie aplikacji). Wzrośnie presja na audyt wake locków, SDK i bibliotek sieciowych.
Potrzeba telemetrii i testów energetycznych na etapie CI/CD, a nie tylko QA manualnego. (Patrz sekcja „Co zrobić teraz”.)
Dla użytkowników:
Lepsza przejrzystość — łatwiej rozpoznać „pożeracze baterii” przed instalacją.
Dla bezpieczeństwa (defensywnie):
Choć Google podkreśla, że to nie jest detektor spyware/adware, metryka pośrednio utrudni trwałe utrzymywanie kanałów exfiltracji w tle bez wiedzy użytkownika (ciągłe podtrzymywanie CPU stanie się kosztowne reputacyjnie). To wzmocni higienę energetyczną ekosystemu, powiązaną z dostępnością (CWE-920). (Wniosek + kontekst teoretyczny).
Rekomendacje operacyjne / co zrobić teraz
Dla zespołów developerskich
Skan wake locków po nazwach (tagach)
Wejdź w Play Console → Android Vitals → Excessive partial wake locks i przejrzyj nową tabelę wake lock names (P90/P99). Skup się na tagach z P90/P99 > 60 min.
Usuń ręczne wake locki, zastąp pracą planowaną
Preferuj WorkManager/JobScheduler z warunkami (ładowanie, Wi-Fi) zamiast własnych wake locków.
Kotlin (przykład):class SyncWorker(ctx: Context, params: WorkerParameters) : CoroutineWorker(ctx, params) { override suspend fun doWork(): Result { // ...realna praca sieciowa... return Result.success() } } val constraints = Constraints.Builder() .setRequiredNetworkType(NetworkType.UNMETERED) .setRequiresCharging(true) .build() val req = OneTimeWorkRequestBuilder<SyncWorker>() .setConstraints(constraints) .build() WorkManager.getInstance(context).enqueue(req)
Jeśli musisz użyć WakeLock — trzymaj go krótko i bezpiecznieval pm = context.getSystemService(Context.POWER_SERVICE) as PowerManager val wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "app:shortTask") try { wl.acquire(30_000L) // maks. 30s – twardy limit! doShortTask() } finally { if (wl.isHeld) wl.release() }
Nigdy nie trzymaj wake locka „na wszelki wypadek”; zawsze czasowo ograniczaj i zwalniaj w finally.
W pipeline uruchamiaj scenariusze (np. 30–60 min w tle), parsuj metryki wake locków po tagach.
Bugreport → Historian (HTML): adb bugreport bug.zip # otwórz w Battery Historian i sprawdź wakelocki/alarms/sync
Audyt bibliotek/SDK
Przeglądaj wake lock tags powiązane z bibliotekami reklamowymi, analitycznymi, VoIP, I/O. Wymagaj wersji z batchingiem/limitami.
Definiuj SLO energetyczne
Ustalcie SLO: „<1% sesji excessive w 28d” + alert w monitoringu, gate w CI (blokada releasu, jeżeli trend rośnie).
Dla zespołów bezpieczeństwa (SecOps/Blue)
Anomalie energii jako sygnał: Nadzwyczajny wzrost wake locków może korelować z niedozwolonym monitoringiem lub nadużyciem SDK. Integruj sygnały z Vitals do SIEM/UBA.
Polityki MDM/EMM: W środowiskach korporacyjnych — blokuj aplikacje, które dostają ostrzeżenie Sklepu Play; wymuś allow-listy.
Testy red team: W scenariuszach DLP/Exfil — sprawdź, czy agent nie generuje excessive wake locks (weryfikowalne w Vitals).
Różnice / porównania z innymi przypadkami
Wear OS – ostrzeżenia dla tarcz zegarków: Google wcześniej dodało w Play ostrzeżenia o drenażu w watch faces (osobna metryka dla zegarków). Nowa inicjatywa rozszerza podejście na aplikacje telefoniczne z naciskiem na partial wake locks. (Kontekst techniczny; praktyki oszczędzania energii są spójne).
Tradycyjne wskaźniki jakości (crash/ANR) vs. energia: Do tej pory brakowało „twardego” progu dla energii. Teraz „excessive partial wake locks” dołącza do „technical quality bars” i ma bezpośredni wpływ na ranking w Play.
Podsumowanie / kluczowe wnioski
Od 1 marca 2026 r. aplikacje przekraczające próg excessive partial wake locks mogą stracić ekspozycję i dostać czerwone ostrzeżenie na karcie w Play.
Metryka: >2h non-exempt wake locków/24h w ≥5% sesji (28 dni).
Deweloperzy powinni usunąć ręczne wake locki, przejść na WorkManager/JobScheduler, zintegrować Batterystats/Historian i monitorować tagi w Android Vitals.
Z perspektywy bezpieczeństwa poprawi się higiena energetyczna, co utrudni nadużycia tła, choć metryka nie jest skanerem malware.
Źródła / bibliografia
Android Developers Blog – „Raising the bar on battery performance: excessive partial wake locks metric is now out of beta” (szczegóły progu, wpływ na widoczność, data 1.03.2026). (Android Developers Blog)
BleepingComputer – „Google to flag Android apps with excessive battery use on the Play Store” (podsumowanie, beta od kwietnia, współpraca z Samsungiem). (BleepingComputer)
9to5Google – „Google Play will soon warn about apps that cause excessive battery drain” (cytaty definicji, ostrzeżenie na listingu). (9to5Google)
The Verge – „Google Play will label apps that use ‘excessive’ battery in the background” (termin egzekwowania, ograniczenie rekomendacji). (The Verge)