I don't really understand the concept of trusted worlds and trusted plugins. Can you explain this?
What I've been able to understand so far:
* if a world is untrusted, trusted plugins will load as untrusted. Why?
If I trust a plugin, it should load as trusted.
* if a world is trusted, untrusted plugins will load into it. Does a trusted world in this context mean
a world whose scripts (and plugins) are trusted by the user, in which case should we just load the plugins as trusted?
If the sandbox is needed, these ideas might help make it a bit more secure:
1. Disable DatabaseOpen in the sandbox.
2. Intercept LoadPlugin(), parse the file with utils.xmlread and ensure that its language is lua. That would do nothing
against manually installing something that wasn't, though.
I just find it odd that the sandbox is there for lua, when the other languages can be more easily used for malicious purposes if so desired.
What I've been able to understand so far:
* if a world is untrusted, trusted plugins will load as untrusted. Why?
If I trust a plugin, it should load as trusted.
* if a world is trusted, untrusted plugins will load into it. Does a trusted world in this context mean
a world whose scripts (and plugins) are trusted by the user, in which case should we just load the plugins as trusted?
If the sandbox is needed, these ideas might help make it a bit more secure:
1. Disable DatabaseOpen in the sandbox.
2. Intercept LoadPlugin(), parse the file with utils.xmlread and ensure that its language is lua. That would do nothing
against manually installing something that wasn't, though.
I just find it odd that the sandbox is there for lua, when the other languages can be more easily used for malicious purposes if so desired.