Phát hiện môi trường nhạy cảm
Tùy chọn này ràng buộc mã đã làm rối với môi trường chạy mục tiêu của nó và dùng kỹ thuật lấy dấu vân tay trình duyệt nâng cao để phát hiện các công cụ tự động hóa. Mã được bảo vệ bằng tùy chọn này sẽ cố ý hỏng khi chạy trong:
Trình duyệt headless (headless Chrome/Chromium, PhantomJS)
Công cụ tự động hóa trình duyệt (Puppeteer, Playwright, Cypress, Selenium/ChromeDriver, Nightmare)
Node.js (khi target được đặt thành browser)
jsdom hoặc các bản giả lập DOM phía máy chủ tương tự
Các môi trường nơi các builtin gốc của trình duyệt đã bị hook hoặc thay thế
Mã sẽ hoạt động đúng trong các trình duyệt thông thường (Chrome, Firefox, Safari, Edge), kể cả khi được nạp bên trong iframe, tiện ích mở rộng trình duyệt (content script), và Web Worker. Nếu bạn cần chạy kiểm thử tự động trên mã được bảo vệ, hãy tắt vmSelfDefending cho các bản build kiểm thử - tùy chọn này được thiết kế để ngăn phân tích tự động và không thể được dùng an toàn với bất kỳ framework tự động hóa nào.