I think I found the article I was referring to: https://www.compose.com/articles/elasticsearch-security-update-groovy-scripting-dropped/ (2015-03): "After talking with the Groovy developers, Elasticsearch have decided that Groovy will never be sufficiently safe in a sandbox and have removed it from the list of sandboxed languages."

( I have used Solr, but not Elasticsearch. It seems they now have "Painless", a Groovy-subset-compatible language as their main scripting language: https://www.elastic.co/guide/en/elasticsearch/painless/6.2/painless-specification.html ... )

On 01.04.2018 20:15, Jochen Theodorou wrote:
On 01.04.2018 19:58, MG wrote:
Hi Jochen,

I just thought about some post by another project I read some time back (alas I can no longer remember which project exactly) which used Groovy as its scripting language, but switched to a lesser, more restrictive scripting option, because they needed to make the scripting more secure, which, according to the post, could not be done using Groovy "because of all the reflection Groovy uses". So I was wondering if changes at a fundamental level in Groovy seem unavoidable, if it would make sense to also keep the security aspect in mind ?

In my opinion that project is wrong, because the security manager mechanisms provide enough protection. The problem is that rarely anyone can use a security manager properly. Anyway... Groovy won't be able to do any call Java cannot do in principle in this version. That is not because of keeping security in mind, that is more because of the module system, that enforces this

Whatever the reason it will be more secure, my line of thought was, that if some (clever) way to work around this exists, to maybe still not go along that route, even though I don't like to see this feature go and people who use this in tests will surely miss it... (Of course that argument is mute if they could have fixed their problem through proper security manager use).

Cheers,
mg




Reply via email to