资源 · 117

ZIP与TAR:在目录和资源预算内解压

发布解压文件前验证路径、链接和实际解压数据量。

已更新 · 2 min

本指南有助于实现的目标

  • 选择隔离目标
  • 限制实际工作量
  • 只发布完整结果

快速检查

  • 路径策略与隔离工作目录。
  • 明确预算与实际超限停止。
  • 拒绝矩阵与完整发布证据。

分步指南

  1. 1

    选择隔离目标

    在最小权限的新建非公开目录解压。拒绝绝对路径、向上遍历、不必要的链接和特殊文件。按目标系统规则检查实际解析目标及冲突,包括大小写。文本前缀本身不能证明目录限制。

    路径策略与隔离工作目录。

  2. 2

    限制实际工作量

    对实际写入字节、条目数、深度、时间和进程资源设单文件及累计上限。不仅依据压缩或声明大小。不需要嵌套档案就拒绝;允许时所有层共享总预算。更新库和过滤器。

    明确预算与实际超限停止。

  3. 3

    只发布完整结果

    测试../、绝对路径、链接、重复项和预算超限。中止应使批次不可发布且不覆盖现有文件。发布前验证文件类型与内容;清理隔离目录时确认目标位置。

    拒绝矩阵与完整发布证据。

可复现的验收案例

虚构示例:数据不代表客户或实际观察结果。

查看案例输入
{
    "compressed_mb": 2,
    "expanded_mb": 600,
    "aggregate_budget_mb": 100,
    "first_files_valid": true,
    "expected": "stop_on_actual_overrun_and_do_not_promote"
}

预期判断

虚构例:2 MB压缩数据产生600 MB,预算为100 MB。实际写入字节超限即停止;即使前几个文件看似有效也不发布该批次。

Python — tarfile extraction filters and further verification

您的验收笔记

按本指南的标准记录观察。记录不等于认证。

笔记不会自动保存。离开前请导出。

管理指标

指标衡量内容首要行动
观察到的解压字节批次实际写入字节总和比较累计预算而非ZIP大小
拒绝且未发布批次未发布无效批次 / 已测试无效批次包含解压中途故障

常见错误

    常见问题解答

    小档案或过滤器能保证安全吗?

    不能。小档案可能大幅膨胀。需加入资源上限、路径规则及解压文件验证。

    官方参考文献

    参考文献支持该方法。 请根据您的实际情况调整检查;它们并非认证。 原始参考文献标题和源文档可能使用其他语言。

    参考资料查阅日期 .