跳到内容

suspicious-unverified-context-usage (S323) (可疑的未经验证的上下文使用)

源自 flake8-bandit linter。

作用

检查 ssl._create_unverified_context 的使用。

为什么这不好?

PEP 476 默认在 Python 标准库 HTTP 客户端中启用了证书和主机名验证。 之前,Python 默认不验证证书,这可能允许攻击者通过拦截和修改客户端与服务器之间的流量来执行“中间人”攻击。

为了支持遗留环境,ssl._create_unverified_context 恢复为之前不执行验证的行为。 否则,使用 ssl.create_default_context 创建安全上下文。

预览中,此规则还会标记对 ssl._create_unverified_context 的引用。

示例

import ssl

context = ssl._create_unverified_context()

建议改为

import ssl

context = ssl.create_default_context()

参考