2026-11-01 Python Hub 每周文摘

2026-11-01 Python Hub 每周文摘

💡 原文英文,约1200词,阅读约需5分钟。
📝

内容提要

本期Python周刊重点介绍:Quicksand推出异步API管理QEMU虚拟机,为AI代理提供隔离沙箱;PCC编译器可将Python和C源码编译为原生程序并保持Python语法。安全方面,文章指出PyPI二进制wheel可能藏有与源码包不符的恶意代码,而多数扫描器只查源码,存在供应链风险。此外还介绍了uv与ty集成、Django ORM教程及Google九万美元漏洞案例。

🔎

延伸解读

二进制 wheel 的供应链盲区

文章指出,PyPI 上的二进制 wheel 可能包含与源码包不符的恶意代码,而多数安全扫描器只检查源码,不检查编译后的二进制。由于 pip 默认安装预编译 wheel,攻击者可将恶意代码藏在 wheel 中,绕过源码审查。这提醒开发者需关注 wheel 来源与完整性,不能仅依赖源码扫描。

Quicksand:无需 Docker 的 AI 代理沙箱

Quicksand 提供异步 Python API,用于启动、控制、快照和回滚 QEMU 虚拟机,为 AI 代理创建隔离环境。其特点是不需要 Docker 或 root 权限,降低了沙箱部署门槛。对于需要运行不可信代码或隔离 AI 代理的场景,这种基于虚拟机的方案提供了比容器更彻底的隔离层。

PCC 编译器:保留 Python 语法的原生编译

PCC 能将 Python 和 C 源码编译为原生程序,同时保持 Python 的语法和行为,且不依赖 libpython,并支持自举。这意味着开发者可能在不改变 Python 代码风格的前提下获得原生执行性能。不过文章未披露性能数据或兼容性细节,实际效果仍需验证。

uv 与 ty 集成:依赖感知的类型检查

Astral 推出 uv 与 ty 的实验性集成,支持对带有 PEP 723 内联元数据的 Python 脚本进行依赖感知的类型检查,并新增 uv check 命令自动准备项目环境并运行 ty。该集成还支持工作区级类型检查,并通过 uv 的锁文件统一 ty 版本,使开发工具链更紧密。

❓

Q&A

Quicksand 是什么?它有什么用途?

Quicksand 是一个异步 Python API,用于启动、控制、快照和回滚 QEMU 虚拟机,为 AI 代理提供隔离沙箱,且无需 Docker 或 root 权限。

PCC 编译器有什么特点?

PCC 编译器可将 Python 和 C 源代码编译为原生程序,旨在保持 Python 的语法和行为,无需 libpython,并支持自举。

PyPI 上的二进制 wheel 存在什么安全风险?

上传到 PyPI 的二进制 wheel 可能包含与源码分发不同的恶意代码。由于大多数安全扫描器只检查源代码而非编译后的二进制文件,攻击者可将恶意软件隐藏在预构建的 wheel 中,而 pip 默认会安装这些 wheel。

uv 和 ty 的集成带来了什么新功能?

Astral 引入了 uv 和 ty 的实验性集成,支持对带有 PEP 723 内联元数据的 Python 脚本进行依赖感知的类型检查,并新增 uv check 命令自动准备项目环境并运行 ty。该集成还支持工作区范围的类型检查,并通过 uv 的锁文件确保 ty 版本一致。

如何在 Django 中减少 N+1 数据库查询?

Django 6.1 引入了新的 FETCH_PEERS 模式,可用于减少 N+1 数据库查询。相关教程通过构建咖啡和茶商店示例,演示了模型关系、数据库查询以及 makemigrations 与 migrate 的区别,并涵盖回填必填字段、回滚迁移、解决迁移历史冲突等操作。

Google 的 9 万美元远程代码执行漏洞是如何产生的?

该漏洞源于泄露的 Flask 会话签名密钥,攻击者可伪造包含恶意 pickle 数据的会话 cookie,将 OAuth 状态处理变成未认证的远程代码执行,影响多个 Google 开发者站点。文章说明了将 pickle 与客户端控制的会话数据结合如何将密钥泄露转化为代码执行,并强调不应让不可信数据经过 pickle 反序列化。

🏷️

标签

➡️

继续阅读