Es probable que no, pero nunca puedes estar seguro.
Primero, ¿por qué un sitio web "intentó extraer datos de imagen de lienzo HTML5"? El elemento lienzo HTML5 permite manipulaciones de imágenes 2D con Javascript. Entre muchas otras operaciones, puede dibujar imágenes o videos al lienzo y luego manipularlos en un nivel de píxel por píxel. Si bien hay muchos usos legítimos para esto, también se puede usar para detectar diferencias sutiles en la forma en que los distintos navegadores web representan imágenes, videos y texto para obtener información sobre el navegador web de los usuarios. Esa información puede ser enviada de vuelta al servidor.
Youtube incluye una gran cantidad de código Javascript, y la mayor parte está muy minificado. Eso hace que auditarlo sea casi imposible. Pero encontré 4 casos de la función .getImageData
que se usa para extraer datos de lienzo en el archivo base.js.
a=a.o.getImageData(c,d,e,f).data;for(b=0;b<a.length;+=4)if(255<a[b]+a[b+1]+a[b+2]+a[b+3])return!0;return!1
Esto aparece para verificar el nivel de brillo general de una parte de la imagen y detecta si es "brillante" u "oscuro".
f=e.getImageData(0,0,b,c),k=b*c,l=0;l<k;l++){var m=4*l;f.data[m]=f.data[m+1]=f.data[m+2]=Math.floor(35*Math.random());f.data[m+3]=255}e.putImageData(f,0,0);
Esto reemplaza toda la imagen con ruido gris aleatorio y la vuelve a escribir en el lienzo. Sospecho que es parte del código que crea el fondo para el mensaje de error "este video no se puede mostrar".
b=b.getImageData(0,0,1,1).data;return b[0]==b[2]&&b[1]==b[3]
Esta parte del código aparece dos veces. Comprueba si el primer píxel del lienzo es un color en escala de grises.
Ninguno de estos fragmentos parece sospechoso y parece ser un uso plausible de esta función en el contexto de un reproductor de video. Sin embargo, si echamos un vistazo al desorden reducido y al código que hay, es difícil estar seguro de que no haya ninguna situación en la que filtre información a un servidor. Además, solo porque tengo Javascript con solo estos 4 casos, no significa que obtendrás lo mismo. Podrían enviar diferentes javascript a diferentes usuarios dependiendo de un millón de variables.