我目前正在研究设计一个使用 drools 决策表电子表格格式的业务解决方案(链接到 jboss drools 文档)。业务用户将拥有并维护电子表格中的规则。
使用决策表格式的一个主要好处是将来可以轻松修改规则以适应不同的规则结构。
Drools 将基于电子表格的规则数据编译为原生规则格式。可以在此处查看编译器的示例实现。
我的安全团队担心的一个问题是,规则电子表格数据是用户输入,所有用户输入都应该经过正确性验证,以确保它不包含恶意数据(有关输入验证的基本原理,请参见此处)。
问题:
- 是否存在业务用户可以将恶意数据添加到规则电子表格的安全风险?
- 风险有多大/严重?例如,编译器是否充分验证了用户输入的数据?
- 如何降低风险?例如,另一方在将规则部署到生产环境之前直观地验证电子表格中的规则。