跳到内容

suspicious-xml-sax-usage (S317)

源自 flake8-bandit linter。

作用

检查不安全的 XML 解析器的使用。

为什么这不好?

许多 XML 解析器容易受到 XML 攻击(例如实体扩展)的攻击,这些攻击通过利用递归导致过多的内存和 CPU 使用。攻击者可以使用此类方法访问未经授权的资源。

考虑在解析不受信任的 XML 数据时使用 defusedxml 包,以防止 XML 攻击。

预览版中,此规则还将标记对不安全的 XML 解析器的引用。

示例

from xml.sax import make_parser

make_parser()

建议改为

from defusedxml.sax import make_parser

make_parser()

参考