Julia uses multiple stacks to implement coroutines (aka tasks), which is a fundamental feature of the language. If Cylance thinks that what Julia does is an attack that’s somewhat understandable, but it’s perfecrly legitimate for programs to have multiple stacks. You can try the JULIA_COPY_STACKS
environment variable in the upcoming Julia 1.3 release to avoid actually jumping to any stacks but the main one at the cost of reduced performance of task switching. The real solution here is for Cylance to have better precision when detecting what is an attack and what isn’t.
5 Likes