前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯9275
  • 阿里开源 Qwen3.8:2.4T MoE、激活 95B、256K 上下文
  • MiniMax H3:单个 Transformer 替代视频生成完整流水线
  • DeepSeek V4 Pro 正式版发布:多项测试接近 Fable 5 水平
  • AI编程助手Lovable完成新一轮4亿美元融资,估值达133亿美元
  • MiniMax Music 3.0:开放权重生产级音乐生成模型
  • Microsoft 发布 MindTopo:VLMs 空间推理能力新基准
  • Grok 4.6 发布:剑指 GPT-5.6 Sol,主打长时间 Agent 任务
  • Grok 4.6 中文详解:训练数据、Agent 能力边界与定价
  • 市场份额报告:Google Gemini 份额从 12% 跌至 1.9%
  • 用Embeddings+Reranking+LLM构建可靠的内容分类流水线
  • 推理冷启动从10分钟降至秒级:容器镜像瘦身实战
  • Anthropic研究揭示:Claude Code旧版权限提示97%被机械通过
  • DeepSeek-V4-Pro-0813 悄然上线,支持思考与非思考模式
  • AI 生图 Prompt 审核实战:Node.js 调用 Chat JSON Schema 方案
  • 企业AI分析的隐藏陷阱:语义漂移问题深度剖析
  • AI 正在消除软件工程中层:代码看不懂、没人负责的团队困境
  • Qwen3.8-2.4T-A95B 模型发布
  • TraceMotive:本地优先的AI代理执行追踪调试工具
  • AI编程工具正在离开IDE:终端原生Agent工作流崛起
  • 个人开发者用AI编程的项目架构经验
  • FastAPI五个安全漏洞发现与修复全过程
  • 长文档AI审核的审计设计:Map-Reduce优于检索增强
  • AI Agent辅助发现SharePoint RCE漏洞链(CVSS 9.1)
  • 我用Claude Code将API的P99延迟降低一半
  • AI Agent读了你的secrets并删了生产数据库——PocketOS事故详解
  • 用聊天模型做金融内容审核:结构化输出设计实践
  • Prompt注入攻击原理与防御实践指南
  • 大规模漏洞扫描活动泛滥,攻击者冒充ClaudeBot等AI爬虫
  • 谷歌DeepMind发布手语转文本模型SL2T
  • LFM2.5-VL-3B:边缘设备高性能视觉语言模型发布
  • 通义千问3.8-27B发布,刷新开源大模型参数效率
  • 多Agent协作陷阱:个体测试全过,团队输出仍错误
  • Agent Plugins:Vercel/OpenAI/Microsoft 等联合推出 Agent 技能打包新标准
  • 企业实战:50+ AI Agent在UK主权云上的部署架构
  • ZeroGPU Router:让 AI Agent 用小模型处理例行任务
  • Solv Labs在AWS Bedrock上构建可审计的Agent支付系统
  • CodeBurn:让AI编程投入产出可见化
  • AWS SageMaker HyperPod分层KV缓存:LLM推理新范式
  • 2026年AI Agent安全开发指南
  • 从专有LLM API窃取推理痕迹研究
  • AI代码审查门控:让AI生成的补丁先自证再合入主分支
  • AI 正在消灭软件工程中层阶级
  • 企业 AI 分析的隐藏失败模式:语义漂移
  • 四步修复:让ChatGPT/Perplexity等AI搜索正确引用你的网站
  • CI发布成功却无人能安装:JetBrains插件三周静默故障复盘
  • MCP vs A2A协议解析:Agent连接协议选型指南
  • Adobe紧急修复:Campaign Classic与ColdFusion四个10.0严重漏洞
  • AI Agent自主搭建付费媒体商店:零人工注册的云服务开通实验
  • 用Claude构建骨架技术文档:Doc-to-Code追踪矩阵实践
  • 企业集成测试:单元测试无法覆盖的测试维度
  • AI 助手常用的启动模板:Demo 专用,上生产有坑
  • 已加载 51 / 9275
8.0
热点
AI SCORE
技术实践2026-08-12 23:01

FastAPI五个安全漏洞发现与修复全过程

dev.to · AI#FastAPI#安全#Python
Editor brief · 编辑速览

安全研究员在FastAPI中发现五个漏洞,私下报告后官方三日内修复了其中一个,剩余四个未公开。文章将逐一公开每个漏洞的复现步骤、代码定位及修复建议。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

一个短系列文章的导言。五个发现中有四个仍在当前版本中,每个帖子都附带一个可运行的复现步骤。

我使用 FastAPI。今年七月,我翻阅了它的源码,因为我想知道我在生产环境中运行的是什么。

我发现了五件事。我于 2026 年 7 月 26 日通过 GitHub 的私人漏洞报告渠道私下报告了所有五个问题,这是该项目请求使用的渠道。8 月 11 日,所有五个问题都被关闭且未公开。

在我提交报告三天后,维护者自己修复了其中一个问题。

这个系列就是报告。每篇帖子对应一个发现,在本周和下周陆续发布,最后是一篇总结文章。每篇帖子都包含一个复现步骤、指向精确代码(锁定到特定发布标签)的永久链接、我认为它是缺陷的理由,以及反对我自己发现的理由——因为其中几个确实存在争议,隐藏这一点就不值得一读。

在阅读这些发现之前:该项目如何处理安全问题

这个背景很重要,这不是指责。它是让系列中其他内容可读的关键。

我在每一个包含 Python 漏洞的数据库中查找了 FastAPI 的安全公告历史,包括 OSV.dev、PyPA 咨询数据库和 GitHub 咨询数据库。它们一致认为:

这就是完整列表。两条记录,其中一条是 FastAPI 用户需要处理的依赖缺陷。

FastAPI 的发布说明从另一个角度讲述了同样的故事。"安全修复"这个标题在该项目的整个历史中只出现了三次:0.65.1(Pydantic 版本锁定)、0.65.2(上面的 CSRF 修复)和 0.109.1(python-multipart 锁定)。

所以:在 FastAPI 自身代码的缺陷方面,只有一份发布于 2021 年 6月的咨询公告。五年前的事了。

我不认为这意味着五年来一直在默默坐视漏洞。我认为是项目将问题作为普通 bug 修复,只对几乎所有情况保留咨询公告。这是一个合理的策略选择,一个不寻常但站得住脚的选择,并且多年来始终如一地执行。

它也是解释我的报告发生了什么最有用的单一事实。与这个基准相比,五个被拒绝的咨询公告并非异常。这就是自 2021 年以来的常规运作方式。

那一个被修复的问题

7 月 26 日,我报告了 FastAPI 的 frontend() 辅助函数运行了它的认证依赖项,然后丢弃了它们设置的所有内容——headers、Set-Cookie、状态更改、后台任务。这个功能在两周前发布,广告宣传为"为前端自动处理 cookie 认证"。Cookie 轮换机制建立起来却悄无声息地消失了。

7 月 29 日,PR #16105 -> "🐛 修复 app.frontend() 中依赖项的后台任务和 headers 支持"——由 tiangolo 创建,标记为 bug,已合并。它在 0.141.1 中发布。当前代码在报告命名的函数中完全实现了报告所请求的功能。

8 月 11 日,该报告被关闭,标记为不被接受。

我不知道我的报告是否导致了那个修复。PR 没有引用它,我也没有被告知。但我可以说,它们描述了同一函数中的同一缺陷,只相隔三天。

我想说清楚我是如何解读这一点的,因为这可能不是你预期的解读方式:在我看来,这看起来像是协作。

有东西坏了;它被报告了;它被快速修复了,用户因此受益。这就是系统正常运作的方式。让我感到困难的部分是,这种协作从未被承认过。

每一份代码状态都通过阅读源码和运行复现步骤在 2026 年 8 月 12 日针对 FastAPI 0.141.1 重新验证,不是从原始报告中沿用。如果原始报告有误,帖子中会说明。其中一个确实有误。

这些发现首先被私下披露,然后被关闭且没有修复。披露被拒绝后发表是标准做法,我不会保留任何读者需要保护自己的信息。每篇帖子的结尾都有一节关于你今天可以做什么,因为其中四个问题可能在你正在运行的版本中仍然存在。

五个中我会说两个是明确的框架缺陷。两个存在争议。一个:文档页面注入。我认为它把责任分摊给了框架和部署,我在复现步骤之前的帖子中说明了这一点,而不是在之后。

如果你只读一篇,读第一篇。那是我认为反驳最弱的一篇,而且有一个一行就能修复的方案。

下一篇:那个编码器越过了掩码原语,返回了它正在隐藏的值。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
个人开发者用AI编程的项目架构经验
下一篇
长文档AI审核的审计设计:Map-Reduce优于检索增强