将项目更新为angular 8.0.3后,我在github警报上收到此错误。
这是一个无法修复的漏洞。
没有可用的修补程序版本。
Shelljs 0.8.3 and before are vulnerable to Command Injection.
Commands can be invoked from shell.exec(),
those commands will include input from external sources,
to be passed as arguments to system executables
and allowing an attacker to inject arbitrary commands.
有人对此有任何信息吗?
答案 0 :(得分:1)
根据this thread,这可能是错误的警报。五月是关键词。您不能将用户输入传递给Shell模块。很多人这样做,这是一个巨大的问题。只要您从未将用户输入传递给exec
,就可以使用GitHub工具禁用此警告。
答案 1 :(得分:1)
我是ShellJS的维护者。详细信息在this comment中,但总结如下:
shell.exec()
或child_process.exec()
,因此直接依赖项应咨询我们的security guidelines child_process.exec()
被滥用的可能性相同(它是核心节点API,因此不会出现在软件包锁定文件中)先前的回答说这“可能是”漏洞,但是自那以后,我在Github线程上澄清了这是不是我们模块中的漏洞,并且直接依赖项需要确保它们安全可靠地使用我们的模块。