微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过 Checkmarx 解决 Python 代码“args=parser.parse_args()”的“命令注入”问题?

如何解决如何通过 Checkmarx 解决 Python 代码“args=parser.parse_args()”的“命令注入”问题?

我有一个解析输入参数的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',dest='mytype',required=True)
parser.add_argument('--enums',nargs='+',help='List to include')
args = parser.parse_args()

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。