0

我有一个解析输入参数的python代码,如下所示:

parser = argparse.ArgumentParser(description='Information injection in file.')  # , usage=usage())
requiredNamed = parser.add_argument_group('...')
requiredNamed.add_argument('--name', action='store', dest='myname', help='...', required=True)
requiredNamed.add_argument('--type', action='store', dest='mytype', help='...', required=True)
parser.add_argument('--enums', nargs='+', help='List to include')
args = parser.parse_args()

对于上述代码,Checkmarx 显示“args=parser.parse_args()”的高严重性错误消息,如下所示:

应用程序的 get_process_output 方法通过 Popen 调用 OS(shell)命令,使用不受信任的字符串和要执行的命令。这可能允许攻击者注入任意命令,并启用命令注入攻击。攻击者可能能够通过用户输入 parse_args 注入执行的命令,该命令由应用程序在 {} 方法中检索...

上面的python代码是在内部使用的(不是在像网站这样的公共环境中),所以不会发生命令注入。所以在这种情况下通过 Checkmarx 扫描,你能告诉我任何更新我的 python 代码的线索吗?(例如,我可以使用其他 python-API 来替换上面的“args=parser.parse_args()”吗?谢谢!

4

0 回答 0