Rilevamento degli ambienti sensibili
Questa opzione vincola il codice offuscato al proprio ambiente di esecuzione di destinazione e utilizza tecniche avanzate di fingerprinting del browser per individuare gli strumenti di automazione. Il codice protetto con questa opzione smetterà intenzionalmente di funzionare se eseguito in:
Browser headless (Chrome/Chromium headless, PhantomJS)
Strumenti di automazione del browser (Puppeteer, Playwright, Cypress, Selenium/ChromeDriver, Nightmare)
Node.js (quando target è impostato su browser)
jsdom o emulazioni del DOM lato server analoghe
Ambienti in cui le funzioni native del browser sono state sottoposte a hooking o sostituite
Il codice funziona correttamente nei browser ordinari (Chrome, Firefox, Safari, Edge), anche quando viene caricato all'interno di iframe, estensioni del browser (content script) e Web Worker. Se occorre eseguire test automatici sul codice protetto, è necessario disattivare vmSelfDefending per le build di test: questa opzione è progettata per impedire l'analisi automatizzata e non può essere utilizzata in sicurezza con alcun framework di automazione.