提供された関数セットに強制的に制限できるJavaプラットフォームのスクリプトを知っている人はいますか(提供されていない限り、関数は絶対に使用しないことが望ましい)。私はいくつかのJSR223互換言語を試しましたが、すべての場合にセキュリティを危険にさらすことができました。
私のシステムが現在行っていること:
- 要求されたスクリプトをファイルシステムからロードします。
- スクリプトを実行するためのコンテキストを作成します
- 新しいコンテキストでスクリプトを実行します
セキュリティマネージャが適切に構成されている場合でも、悪意のあるスクリプトコンテンツが、他の方法ではアクセスできないオブジェクトのフィールドにアクセスする(またはさらに悪いことに、変更する)のを防ぐにはどうすればよいでしょうか。これは、間違いがあった場合、またはスクリプトが悪意のある動作に合わせて意図的に調整された場合に、多少の損害を引き起こす可能性があります。