https://snyk.io/blog/python-security-best-practices-cheat-sheet/
Python 安全开发检查清单
-
清洗所有外部输入数据
避免注入、XSS、DoS 等风险。使用
schema、bleach、Flask/Django 提供的转义函数等工具。 -
使用安全扫描工具检查代码
推荐使用 Bandit、pylint、flake8 或 Snyk Code 进行静态分析。
-
只安装可信软件包
避免拼写陷阱(typosquatting),安装前用 Snyk Advisor 检查包的信誉。 https://snyk.io/advisor/search?source=python&q=sentry-sdk
-
检查依赖项的许可证合规性
确保开源依赖满足公司或项目的许可要求(如 GPL、MIT、Apache 等)。
-
避免使用系统默认 Python 版本
使用最新版官方 Python,并确保定期更新。
-
使用虚拟环境隔离依赖
如
python -m venv venv,避免全局包污染和依赖冲突。 -
生产环境关闭调试模式
DEBUG = False,防止泄露堆栈信息或配置。 -
避免不安全的字符串格式化
不用
%或.format()处理用户输入,推荐string.Template或 f-string 并控制输入来源。 -
安全地处理序列化/反序列化
不使用
pickle处理不可信数据,改用yaml.safe_load或defusedxml等安全模块。 -
使用类型注解提升代码质量
支持静态分析,减少逻辑错误1。