Skip to content

Known Issues

jackfromeast edited this page Aug 6, 2024 · 1 revision

This document record a list of problems that current implementation have:

Functionality

  • Excuting User code in strict mode

    • Description
      • There are operations, e.g. set a read-only property, in the user code will not raise an error as it is executing under sloppy mode. But now, we are executing it in strict mode, (carried out in rule-builder.js)
    • To Reproduce:
      • Domain: https://ebay.com/
      • Error: Cannot set property indexedDB of #<Window> which has only a getter
    • Test Case:
      • regression-test: strict-mode-compatibility
  • Cannot instrument code for .innerHTML or document.write which will also dynamically generate code on the web

    • Description
      • Now, we only handle the dynamically generated code during eval and function constructor
    • To Reproduce: canva.com
      • URL: https://www.canva.com/
      • Error: GET https://www.canva.com/_ajax/csrf3/ae 403 (Forbidden)
      • This might because of the gtm_fpc_engagement_event and gtm_custom_user_engagement cookie.
    • regression-test: innerHTML-instrument-2 and innerHTML-instrument-1
  • Timing Problem

    • Description
      • If a script is depend on other scripts. Due to the instrumentation process and instrumented code, the timing of their exeucted may differ from the original sequence. This will raise problem like lookuping on undefined value, or function is undefined
    • To Reproduce:
      • URL: https://flickr.com/
      • Error: TypeError: Cannot read properties of undefined (reading 'name')
  • Failed to execute 'atob' and 'btoa' on window?

  • Cannot inject J$$ runtime to service worker

Taint Propagation

  • Cannot do the taint propagation for String.replace with callback function
    • Refer to test case: replace-2

Clone this wiki locally