英文原帖(关键句)
Datasette 1.0a39 and 0.65.4 security releases. We ran an extensive audit using Claude Fable 5.1, GPT-5.6 Sol and GPT-6 Astra.
中文翻译
Datasette 发布 1.0a39 与 0.65.4 安全版本。我们使用 Claude Fable 5.1、GPT-5.6 Sol 和 GPT-6 Astra 进行了全面审计。
原帖随后说明,这轮审计后修复了多类缺陷;如果 Datasette 实例运行在公开网站上,应当升级。
发布内容
Datasette 同时发布两个安全修复版本:
1.0a39:面向当前 1.0 alpha 系列。0.65.4:面向稳定的 0.65.x 系列,回移了适用于稳定分支的修复。
官方说明指出,最需要尽快升级的是部署在公网、并通过认证插件保护私有数据的实例,尤其是同一实例同时提供公开表与私有表的场景。Datasette Cloud 已经部署这些修复。
官方 changelog 将稳定分支的修复范围概括为权限、SQL 构造和缓存,并列出以下项目:
- 表与视图权限检查现在会考虑 SQLite 名称大小写不敏感的行为。
- 使用
?_through=的表过滤必须具备查看中间表的权限。 - 修复来自不可信数据库 schema 的主键列名在行查询与分页中的 SQL 标识符转义。
- 全文检索索引检测改用参数化 SQL,并按字面量处理表名中的通配符。
- 私有或个性化动态响应使用
Cache-Control: private, no-store;匿名动态响应按Cookie和Authorization区分缓存。 - 通过
--load-extension加载指定扩展后,SQLite 扩展加载能力会被关闭。
审计与修复流程
外部研究者提交的 AI 辅助漏洞报告促使维护者进行全面审计。Simon Willison 与 Alex Garcia 使用 Claude Fable 5.1、GPT-5.6 Sol、GPT-6 Astra 多轮寻找相似问题,再将修复提交到主分支,并把选定修复回移到 0.65.x。
两位维护者在私有仓库协作:多数问题由一人编写能暴露缺陷的自动化测试,另一人实现修复,从而让每项修复同时经过两名人工审阅者和多个模型检查。部分自动化测试暂未公开,以便给使用者留出升级时间。
官方发布说明:Datasette 1.0a39 and 0.65.4 security releases - Datasette Blog
官方 changelog:Changelog - Datasette documentation