首页 > 解决方案 > 从 python bandit 安全问题报告中忽略/跳过一些问题的方法是什么?

问题描述

我有一堆django_mark_safe错误

>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   Location: ...
   More Info: https://bandit.readthedocs.io/en/latest/plugins/b703_django_mark_safe.html
54 return mark_safe(f'<a href="{url}" target="_blank">{title}</a>')

>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   Location: ...
   More Info: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b308-mark-safe
54 return mark_safe(f'<a href="{url}" target="_blank">{title}</a>')

我很好奇是否有办法跳过或忽略这些行?我知道使用mark_safe可能很危险,但如果我想冒险怎么办?例如,此方法是在 Django admin 中显示自定义链接的唯一方法,所以我不知道任何其他选项如何做到这一点mark_safe

标签: pythondjangodjango-adminbandit-python

解决方案


我在这里得到了答案:

两种方式:

  1. 您可以在命令行中使用 --skip 参数跳过 B703 和 B308。
  2. 或者,您可以在要跳过的行上添加注释# nosec

https://github.com/PyCQA/bandit#exclusions


推荐阅读