SAG / ARCHITECTURE NOTE
ZIP 炸弹与路径穿越:数据采集器的信任边界在哪里?
通过限制压缩输入的允许大小、条目和路径,让处理资源保持可预测。即使上传内容很小,解压后也可能需要大量内存。如果直接将文件名用作路径,还可能触及分析系统之外的文件。
什么是压缩输入边界?
通过限制压缩输入的允许大小、条目和路径,让处理资源保持可预测的设计。 本说明将压缩输入边界理解为输入、转换和输出各自承担的责任,而非某个功能名称。要让分析结果可信,就必须清楚地关联输入了哪些资料、检查了什么,以及结论能够得出到什么程度。
为什么需要这项技术?
即使上传内容很小,解压后也可能需要大量内存。如果直接将文件名用作路径,还可能触及分析系统之外的文件。
设计原则与数据流
分别限制压缩大小和解压后大小,并拒绝异常条目、重复路径和不支持的格式。输入错误与系统故障应记录为不同状态。
压缩输入 → 允许列表·资源限制 → 已验证文档
每个阶段都不应把前一阶段的成功说成后一阶段的成果。持续记录资料标识符、时间段和验证状态,有助于定位遗漏和错误发生的位置,并确定需要重新检查的范围。
与 SAG 架构的关联
SAG ZIP 路径会限制大小,并且无需解压到磁盘即可读取获准的 HTML。客户资料的执行以及外部资源的自动下载不属于分析范围。
SAG 的运营价值在于将这种关联连接到页面与问题、比较结果与改进工作。客户不必只看数字,还可以一并审查需要补充的对象和判断依据。需要额外适用的模式,应依据相应段落的范围来理解。
说明性示例与判断标准
如果说明性输入中混有正常 HTML 和不支持的压缩条目,就不能将它们一概标记为成功。应区分具体拒绝了哪些条件,并提供能够帮助重新准备资料的错误信息。
上述示例用于说明结构和计算,并非特定客户的实测成果。实际报告必须关联所选的时间段、对象、观测条件和原始记录,才能再次核验同一判断。
实务验证清单
| 流程阶段 | 检查项目 |
|---|---|
| 压缩输入 | 检查解压后大小和条目数 |
| 允许列表·资源限制 | 拒绝绝对路径和上级路径 |
| 已验证文档 | 确认发生错误后的部分保存策略 |
请确认在正常输入、空资料、重复资料以及条件不同的资料中,含义是否保持一致。将验证项目纳入工作完成标准,有助于缩小功能说明与实际运营之间的差异。
局限与应用注意事项
处理限制有助于提升安全性,但无法证明所有恶意文档都是无害的。应同时维护允许列表、更新库,并进行错误回归验证。
研究与官方文档
- OWASP 文件上传指南 — 用于审查上传允许格式和资源限制的安全设计资料。
外部资料仅为上述设计主题提供背景,并不认证 SAG 的所有实现或客户成果。本说明中的应用解读和说明性示例依据 SAG 的运营结构整理。资料核验日期:2026-10-06。
延伸阅读与功能确认
如何继续了解这项技术
沿着 HTML ZIP·站点地图 → 规范化 → 页面版本 → 依据记录的流程进行了解。
SAG / KNOWLEDGE LINKS
