You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to execute pyarmor obfuscated scripts in ray, we are facing issues with the python dis package. We are using Actors. Depending on how Actors are instantiated, the error occurs at a different place:
To fix the issue with the decorator, I think we need a fix at Pyarmor side. That's why I filed an issue there: dashingsoft/pyarmor#231
But even without a fix at pyarmor side, which might be not feasible, we can run obfuscated code in ray if we don't use the decorator and the function_manager is patched, so it doesn't use dis anymore. Is this feasible?
Ray version and other system information (Python version, TensorFlow version, OS):
Meanwhile the issue will be avoidable in one of the upcoming pyarmor releases, by making sure opcodes are not changed during the obfuscation process. It's less secure, but it works.
So discarding the use of the dis package would still be very helpful!
ericl
added
P3
Issue moderate in impact or severity
and removed
triage
Needs triage (eg: priority, bug/not-bug, and owning component)
labels
May 28, 2020
What is the problem?
When trying to execute pyarmor obfuscated scripts in ray, we are facing issues with the python
dis
package. We are using Actors. Depending on how Actors are instantiated, the error occurs at a different place:@ray.remote
decorator, python crashes here: https://github.com/ray-project/ray/blob/master/python/ray/cloudpickle/cloudpickle.py#L440.ray.remote(ActorClass).remote()
python crashes here: https://github.com/ray-project/ray/blob/master/python/ray/function_manager.py#L118. When removing thedis
-calls in function_manager.py, our obfuscated code runs fine.To fix the issue with the decorator, I think we need a fix at Pyarmor side. That's why I filed an issue there: dashingsoft/pyarmor#231
But even without a fix at pyarmor side, which might be not feasible, we can run obfuscated code in ray if we don't use the decorator and the
function_manager
is patched, so it doesn't usedis
anymore. Is this feasible?Ray version and other system information (Python version, TensorFlow version, OS):
Reproduction (REQUIRED)
see dashingsoft/pyarmor#231. The second example is the one I'd love to see fixed in ray!
If we cannot run your script, we cannot fix your issue.
Best regards, Pieterjan
The text was updated successfully, but these errors were encountered: