Wykrywanie podejrzanych środowisk
Opcja ta wiąże zobfuskowany kod z docelowym środowiskiem uruchomieniowym i wykorzystuje zaawansowane fingerprintowanie przeglądarki do wykrywania narzędzi automatyzujących. Kod chroniony tą opcją celowo przestanie działać, gdy zostanie uruchomiony w:
przeglądarkach headless (headless Chrome/Chromium, PhantomJS),
narzędziach do automatyzacji przeglądarki (Puppeteer, Playwright, Cypress, Selenium/ChromeDriver, Nightmare),
Node.js (gdy target ma wartość browser),
jsdom lub podobnych emulacjach DOM po stronie serwera,
środowiskach, w których natywne wbudowane funkcje przeglądarki zostały podmienione lub obłożone hookami.
Kod będzie działać poprawnie w zwykłych przeglądarkach (Chrome, Firefox, Safari, Edge), w tym po załadowaniu wewnątrz elementów iframe, w rozszerzeniach przeglądarki (content scripts) oraz w Web Workerach. Jeśli chroniony kod ma być objęty testami automatycznymi, w wersjach testowych należy wyłączyć vmSelfDefending — opcja ta z założenia uniemożliwia automatyczną analizę i nie może być bezpiecznie używana z żadnym frameworkiem automatyzującym.