リソース · 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サイズでなく合計予算と比較
公開されない拒否処理公開しなかった不正バッチ / 試した不正バッチ展開途中の失敗を含める

よくある間違い

    よくある質問

    小さなアーカイブやフィルターは安全を保証しますか?

    いいえ。大きく展開する場合があります。資源制限、パス規則、出力ファイル確認を加えます。

    公式参照文献

    参照文献はメソッドを裏付けるものです。 チェックは状況に合わせて調整してください。 これらは認証ではありません。 元の参照文献のタイトルやソース文書は別の言語で書かれている場合があります。

    参照資料の確認日 .