other
- Location
scripts/kbs/cdp.py:104- Finding
Deliberate Concealment of Browser Automation and Fingerprint Spoofing
- Content
View full analysis
{ const wd = Object.getOwnPropertyDescriptor(Navigator.prototype, 'webdriver'); if (wd && wd.get) { Object.defineProperty(Navigator.prototype, 'webdriver', { get: new Proxy(wd.get, { apply: () => false }), configurable: true, }); } if (!window.chrome) window.chrome = {}; if (!window.chrome.runtime) { window.chrome.runtime = { connect: () => {}, sendMessage: () => {} }; } Object.defineProperty(navigator, 'vendor', { get: () => 'Google Inc.', configurable: true, }); Object.defineProperty(navigator, 'languages', { get: () => ['zh-CN', 'zh', 'en-US', 'en'], configurable: true, }); const overrideWebGL = (proto) => { const original = proto.getParameter; proto.getParameter = function(p) { if (p === 37445) return '$$WEBGL_VENDOR$$'; if (p === 37446) return '$$WEBGL_RENDERER$$'; return original.call(this, p); }; }; overrideWebGL(WebGLRenderingContext.prototype); if (typeof WebGL2RenderingContext !== 'undefined') { overrideWebGL(WebGL2RenderingContext.prototype); } })(); """ S ...[truncated 2368 chars]- Remediation
View remediation
