如何通过Bandit对特定Python代码执行全面的安全函数扫描?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3670个文字,预计阅读时间需要15分钟。
在分析一些Python开源库的代码安全扫描中,我们可能会发现,库中使用的某些函数可能会对代码的执行环境产生非预期的副作用。例如,Python的沙箱逃逸问题,这可能是由于函数在执行过程中未能正确处理外部输入,导致潜在的安全风险。
技术背景
在一些对python开源库代码的安全扫描中,我们有可能需要分析库中所使用到的函数是否会对代码的执行环境造成一些非预期的影响。典型的例如python的沙箱逃逸问题,通过一些python的第三方库可以执行系统shell命令,而这就不在python的沙箱防护范围之内了。关于python的沙箱逃逸问题,这里不作展开,这也是困扰业界多年的一个问题,连python官方也提过python的沙箱是没有完美的防护方案的,这里仅作为一个背景案例使用:
# subprocess_Popen.py import subprocess import uuid subprocess.Popen('touch ' + str(uuid.uuid1()) +'.txt', shell = True)
这里演示的功能是使用subprocess函数库开启一个系统shell,并执行一个touch的指令,可以生成一个指定文件名的文件,类似于mkdir产生一个文件夹。
本文共计3670个文字,预计阅读时间需要15分钟。
在分析一些Python开源库的代码安全扫描中,我们可能会发现,库中使用的某些函数可能会对代码的执行环境产生非预期的副作用。例如,Python的沙箱逃逸问题,这可能是由于函数在执行过程中未能正确处理外部输入,导致潜在的安全风险。
技术背景
在一些对python开源库代码的安全扫描中,我们有可能需要分析库中所使用到的函数是否会对代码的执行环境造成一些非预期的影响。典型的例如python的沙箱逃逸问题,通过一些python的第三方库可以执行系统shell命令,而这就不在python的沙箱防护范围之内了。关于python的沙箱逃逸问题,这里不作展开,这也是困扰业界多年的一个问题,连python官方也提过python的沙箱是没有完美的防护方案的,这里仅作为一个背景案例使用:
# subprocess_Popen.py import subprocess import uuid subprocess.Popen('touch ' + str(uuid.uuid1()) +'.txt', shell = True)
这里演示的功能是使用subprocess函数库开启一个系统shell,并执行一个touch的指令,可以生成一个指定文件名的文件,类似于mkdir产生一个文件夹。

