SuperAPI AI 工具集

security-modern-python

编程与开发

查看项目

更新于 10-15 21:37

技能介绍

用途:审查 Python 代码中的安全漏洞,编写安全的 Python Web 应用(Flask、Django、FastAPI),使用现代 Python(3.10+)特性实现安全模式,加固 Python 打包与依赖管理,审计处理用户输入、密钥或加密的代码。不适用于 Python 2 遗留代码、非 Python 安全审查、不含 Python 组件的基础设施安全。

主要能力:识别并给出常见漏洞模式的正反示例,包括 SQL 注入(应使用参数化查询 cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,)))、命令注入(应使用 subprocess.run(["convert", filename, "output.png"], check=True) 并避免 shell=True)、路径穿越(应 resolve 后校验是否位于 BASE_DIR 内)、反序列化(避免 pickle.loads,改用 json.loads)、密钥管理(从环境变量或密钥库读取,使用 hmac.compare_digest 做常量时间比较)。

现代特性:match 语句(3.10+)用于更安全的输入分发;类型提示与 mypy 捕获类型混淆缺陷;tomllib(3.11+)安全只读解析 TOML;hashlib.file_digest(3.11+)正确计算文件哈希;更严格的 int()(3.11+)拒绝下划线技巧。

依赖安全:使用 pip-audit 审计已安装包;pip freeze > requirements.txt 固定依赖;pip install pip-tools && pip-compile --generate-hashes 生成带哈希的锁定文件;safety check -r requirements.txt 检查已知漏洞。

检查清单:所有用户输入经过验证与清理;SQL 使用参数化查询;子进程调用避免 shell=True;不对不可信数据使用 eval()、exec() 或 pickle;密钥从环境变量或密钥库加载;依赖以哈希固定;所有外部 API 调用强制 HTTPS;日志不包含敏感数据。

限制:资料未提供具体安装命令、版本兼容细节、性能数据或收费信息。