berstend / puppeteer-extra

💯 Teach puppeteer new tricks through plugins.
https://extra.community
MIT License
6.23k stars 732 forks source link

[Bug] Creepjs is detecting lies in the browser #775

Open visgotti opened 1 year ago

visgotti commented 1 year ago

Not much of a bug, but wondering if anyone else running puppeteer with this plugin is also getting a 0% trust score when testing against https://abrahamjuliot.github.io/creepjs/

It looks like what's crashing the score is the 'lies detected'

Here is the list it gives me- any idea what's going on or what the fix would be?

`AnalyserNode.fftSize:

AnalyserNode.frequencyBinCount:

AnalyserNode.getByteFrequencyData:

AnalyserNode.getByteTimeDomainData:

AnalyserNode.getFloatFrequencyData:

AnalyserNode.getFloatTimeDomainData:

AnalyserNode.maxDecibels:

AnalyserNode.minDecibels:

AnalyserNode.smoothingTimeConstant:

AudioBuffer.copyFromChannel:

AudioBuffer.getChannelData:

BiquadFilterNode.getFrequencyResponse:

CSSStyleDeclaration.setProperty:

CanvasRenderingContext2D.fillText:

CanvasRenderingContext2D.font:

CanvasRenderingContext2D.getImageData:

CanvasRenderingContext2D.getLineDash:

CanvasRenderingContext2D.isPointInPath:

CanvasRenderingContext2D.isPointInStroke:

CanvasRenderingContext2D.measureText:

CanvasRenderingContext2D.quadraticCurveTo:

CanvasRenderingContext2D.strokeText:

DOMRect.height:

DOMRect.width:

DOMRect.x:

DOMRect.y:

DOMRectReadOnly.bottom:

DOMRectReadOnly.height:

DOMRectReadOnly.left:

DOMRectReadOnly.right:

DOMRectReadOnly.toJSON:

DOMRectReadOnly.top:

DOMRectReadOnly.width:

DOMRectReadOnly.x:

DOMRectReadOnly.y:

Date.getDate:

Date.getDay:

Date.getFullYear:

Date.getHours:

Date.getMinutes:

Date.getMonth:

Date.getTime:

Date.getTimezoneOffset:

Date.setDate:

Date.setFullYear:

Date.setHours:

Date.setMilliseconds:

Date.setMonth:

Date.setSeconds:

Date.setTime:

Date.toDateString:

Date.toJSON:

Date.toLocaleDateString:

Date.toLocaleString:

Date.toLocaleTimeString:

Date.toString:

Date.toTimeString:

Date.valueOf:

DateTimeFormat.format:

DateTimeFormat.formatRange:

DateTimeFormat.formatToParts:

DateTimeFormat.resolvedOptions:

Document.createElement:

Document.createElementNS:

Document.getElementById:

Document.getElementsByClassName:

Document.getElementsByName:

Document.getElementsByTagName:

Document.getElementsByTagNameNS:

Document.referrer:

Document.write:

Document.writeln:

Element.append:

Element.getBoundingClientRect:

Element.getClientRects:

Element.insertAdjacentElement:

Element.insertAdjacentHTML:

Element.insertAdjacentText:

Element.prepend:

Element.replaceWith:

Element.setAttribute:

FontFace.family:

FontFace.load:

FontFace.status:

Function.toString:

HTMLCanvasElement.captureStream:

HTMLCanvasElement.getContext:

HTMLCanvasElement.height:

HTMLCanvasElement.toBlob:

HTMLCanvasElement.toDataURL:

HTMLCanvasElement.transferControlToOffscreen:

HTMLCanvasElement.width:

HTMLElement.offsetHeight:

HTMLElement.offsetWidth:

HTMLIFrameElement.contentDocument:

HTMLIFrameElement.contentWindow:

IntersectionObserverEntry.boundingClientRect:

IntersectionObserverEntry.intersectionRect:

IntersectionObserverEntry.rootBounds:

Math.acos:

Math.acosh:

Math.asinh:

Math.atan:

Math.atan2:

Math.atanh:

Math.cbrt:

Math.cos:

Math.cosh:

Math.exp:

Math.expm1:

Math.log:

Math.log10:

Math.log1p:

Math.sin:

Math.sinh:

Math.sqrt:

Math.tan:

Math.tanh:

MediaDevices.enumerateDevices:

MediaDevices.getDisplayMedia:

MediaDevices.getUserMedia:

Navigator.appCodeName:

Navigator.appName:

Navigator.appVersion:

Navigator.connection:

Navigator.deviceMemory:

Navigator.getBattery:

Navigator.getGamepads:

Navigator.hardwareConcurrency:

Navigator.language:

Navigator.languages:

Navigator.maxTouchPoints:

Navigator.mimeTypes:

Navigator.platform:

Navigator.plugins:

Navigator.product:

Navigator.productSub:

Navigator.sendBeacon:

Navigator.serviceWorker:

Navigator.userAgent:

Navigator.vendor:

Navigator.vendorSub:

Node.appendChild:

Node.insertBefore:

Node.replaceChild:

OffscreenCanvas.convertToBlob:

OffscreenCanvas.getContext:

OffscreenCanvasRenderingContext2D.font:

OffscreenCanvasRenderingContext2D.getImageData:

OffscreenCanvasRenderingContext2D.getLineDash:

OffscreenCanvasRenderingContext2D.isPointInPath:

OffscreenCanvasRenderingContext2D.isPointInStroke:

OffscreenCanvasRenderingContext2D.measureText:

OffscreenCanvasRenderingContext2D.quadraticCurveTo:

Permissions.query:

Range.getBoundingClientRect:

Range.getClientRects:

RelativeTimeFormat.resolvedOptions:

SVGRect.height:

SVGRect.width:

SVGRect.x:

SVGRect.y:

SVGTextContentElement.getComputedTextLength:

SVGTextContentElement.getExtentOfChar:

SVGTextContentElement.getSubStringLength:

Screen.availHeight:

Screen.availLeft:

Screen.availTop:

Screen.availWidth:

Screen.colorDepth:

Screen.height:

Screen.isExtended:

Screen.onchange:

Screen.orientation:

Screen.pixelDepth:

Screen.width:

TextMetrics.actualBoundingBoxAscent:

TextMetrics.actualBoundingBoxDescent:

TextMetrics.actualBoundingBoxLeft:

TextMetrics.actualBoundingBoxRight:

TextMetrics.fontBoundingBoxAscent:

TextMetrics.fontBoundingBoxDescent:

TextMetrics.width:

WebGL2RenderingContext.bufferData:

WebGL2RenderingContext.getParameter:

WebGL2RenderingContext.readPixels:

WebGLRenderingContext.bufferData:

WebGLRenderingContext.getParameter:

WebGLRenderingContext.readPixels:

markcellus commented 1 year ago

Yeah, same is happening for me. But I found https://github.com/abrahamjuliot/creepjs/issues/189#issuecomment-1181297515 about how having a low trust score doesn't necessarily mean it's a bad thing.

It is not always beneficial to have a high trust score, and sometimes a low trust score is not bad.

That being said, I'm not sure if this is something puppeteer-extra can fix. If anything can be done, it would have to be done at the browser level. Maybe playing around with the different "args" passed.

markcellus commented 1 year ago

Also, this issue is probably suffering from the same issue that is causing https://github.com/berstend/puppeteer-extra/issues/766.

markcellus commented 1 year ago

https://github.com/berstend/puppeteer-extra/pull/684 looks to be an attempt at a fix. But they say it no longer works. :(

190031994Harsha commented 8 months ago

any browser that I use and anytime I run my script I'm getting 0% f- and lies

Fusseldieb commented 7 months ago

Same thing... It detects 200+ "lies" and grades my browser at 0% trust score.

tonybruess commented 2 months ago

Same here