GIF画像の隠れたデータを削除
03 ほとんどのカメラが生成しない形式
GIFがカメラの直接出力であることはほぼありません——画面録画の切り出し、ミーム風の編集、あるいは動画クリッ プの変換結果であるのがほとんどです。これは、本サイトの他の場所で扱っているGPS/カメラのメタデータリスク が、ここではほとんど当てはまらないことを意味します。GIF形式の仕様には、そもそもJPEGのようなEXIFを収める 余地がなく、実際にもGIF自体のメタデータはコメント拡張ブロックにとどまることがほとんどで、それが機微な内 容に使われることもはるかに少ないです。
詳しく見る:なぜアニメーション形式には特にフレーム数の上限が必要なのか
GIFの本当のリスクはメタデータではなく構造にあります。小さなファイルの中に膨大な数のアニメーションフ レームを宣言することができ、単純に「各フレームをそのままレンダリングする」だけの実装では、わずかなサ イズのダウンロードファイルが数GBものメモリ確保を引き起こしかねません——これは解凍爆弾であり、 比較ページで扱っている攻撃と同じカテゴリですが、単一の 巨大な画像ではなく、アニメーション形式に特有のものです。本ツールは、何かを行う前にデコードするフレー ム数をあらかじめ制限しており、これは実際に検証済みです(実際の5フレームのGIFアニメーションは処理全 体を問題なく通過し、フレーム数の上限はメモリ確保の後ではなく前に適用されます)。
ここでGIFに実際に何が起こるのか
各フレームは完全に生のピクセルへとデコードされ、ゼロから再エンコードされます——これは本サイトの他のどの 形式にも適用されるのと同じ再構築です。したがって、GIFの終端バイトの後に付加されたデータや、コメント拡張 ブロックに隠されたデータも、複数形式混合のJPEGやPNGを扱うのと同じように破棄されます。アニメーションのタ イミング(フレーム間の遅延)は保持されます——GIFの再生のされ方は一切変わらず、削除されるのはアニメーシ ョンの可視部分ではない要素だけです。