R 管道工 - 如何防范代码注入

问题描述

这个问题的重点是 R plumber 包,但是,它本身可能很有趣/有用。

我正在处理非常简单的 plumber API 调用,例如,

function(key) {
  tryCatch({
     if(key == "ABCD"){system('./script.sh',intern = T)}
  },error = function(e){return(NULL)})
}

在收到特定的 REST 调用后,它将执行 script.sh 具有超级用户权限。目前,我们的想法是在内部使用此脚本 - 本质上,单击按钮将调用具有特定键的调用

然而,由于代码将在提升的权限下调用我的问题是这个——当指定一个函数以这样的自由输入参数执行时,我如何确保脚本将只执行指定的内容,仅此而已?

我不精通 R 代码注入,但是否有任何已知的方法来保护 key 值,例如 ABCD\") system('...'); # 或类似值(这只是一个不好的例子,但我认为可以存在一些已知的漏洞)?

或者在这种情况下,base R 是否足够安全?


附注:目前此类代码仅在内部使用,但是,即使在受控环境中,我也不会像这样保持开放的高级访问权限。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...