En el complemento de mi navegador quiero detectar cualquier uso de un incorporado Función de JavaScript. Anulo esta función al inyectar un fragmento de código en la página. Este código activa un evento y un controlador de eventos envía un mensaje a mi extensión utilizando chrome.runtime.sendMessage
.
El problema es que ahora cualquier página en Internet también puede activar el evento y comunicarse con mi extensión. Quiero que solo mi script inyectado pueda comunicarse con mi extensión, para evitar un problema de seguridad como Gramática .
¿Cómo puedo asegurar la comunicación entre el script inyectado y la extensión? Quiero anular una función JavaScript nativa, por lo que tengo que poner el script en la página (a diferencia del script de contenido). Debido a que está en la página, no puedo llamar a chrome.runtime.sendMessage directamente.
Editar: pensé en esta solución : crear una clave secreta aleatoria en el script de contenido, y solo maneja eventos con esa clave secreta. Se siente como un hack total, por lo que la pregunta es si hay una forma "correcta" de hacer esto.