Well, rejoice! Before, I was getting in sideways and telling people to disable their rabid antivirus programs and poorly designed OS protections. Now I'll be distributing binaries that don't have to 'break in', so to speak. This is a massive improvement. And it's damn fast in comparison with other alternatives.
I can see how this could be used by some nasty person to do bad things, sure... but they could do it before and they'll be able to do it no matter how I change DFHack. The key thing is to *NOT* download binaries from someone you don't trust. I give you source code of everything I release. Read it. Compile it. You don't need the binaries, those are just for convenience.
Oh, I trust
you. It's just all these other people.
I am well aware that malicious stuff could be distributed before, since we've been posting tools for a while here in various forms, just keep in mind that since DFHack is changing to a plugin system, it'll be easier and more common to grab executable binaries from (hopefully) the forum or DFFD and have DF|DFHack (an already trusted executable) run them. Like you say, ideally people will avoid downloading and running untrusted code, but only a cursory glance at the history of computer security will show that
that is not going to happen.
I am also aware that a plugin in an interpreted language can be malicious, but at least it has to be distributed by source code, and is thus easily examined, and some quick searching suggests it shouldn't be too hard to sandbox the interpreter (
PyPy, for example).
I guess I'm trying to say, while you are building this, think about how it might also be secured.
I am not writing stonesense in python.
Hell.
No.
I wasn't saying exclusive. Just, don't stop plugins support at C/C++. Clearly, graphics intensive applications need a language with more and better graphics support. Python
can do it, but I certainly agree with your sentiment on that!
On the other hand, something like Therapist could probably be handled in Python or another interpreted language with little trouble.