Es probable que esto sea inverosímil (y ciertamente especulativo), pero publicaré para estimular las ideas en otros:
En el diseño de software tradicional, la dependencia de las rutas de código era clara y no se determinó dinámicamente. Como tal, cualquier análisis de seguridad [estático] que se basó en el análisis de rastreo de fuente-sumidero fue "fácil" de hacer. (Por ejemplo, encontrar una ruta de código a través del análisis estático que utiliza la entrada del usuario en un SQL sin haber pasado por una función de limpieza; o la entrada del usuario reflejada en la apertura de la salida a XSS; o la contraseña para registrar archivos en texto simple).
Sin embargo, con los patrones de diseño modernos como IoC y la naturaleza dinámica de algunos lenguajes como JavaScript, el análisis de fuente-fuente se vuelve intrínsecamente "difícil", ya que las fuentes y los sumideros no están [aún] conectados en tiempo de compilación.
Una cosa que podría hacer un compilador JIT, al menos en teoría, es identificar las nuevas rutas de fuente-sumidero que se crean, y realizar al menos un análisis de tipo rudimentario, o quizás generar un evento que una aplicación de monitoreo de seguridad podría interceptar y realizar un análisis en profundidad en tiempo de ejecución.
El obstáculo aquí no es solo la identificación de fuente-sumidero basada en JIT de manera económica, sino también que el análisis de tipo de seguridad que se encuentra sobre [actualmente] es prohibitivamente lento (AFAIK). Pero tal vez se pueda realizar un análisis de tipo rudimentario en tiempo de ejecución a un costo de rendimiento razonable.