セキュリティ

アップロードファイルにマルウェアを混ぜない注意

共有するHTMLやZIPは、いろいろな素材を寄せ集めて作られがちです。ダウンロードした画像やスクリプト、もらった素材に、知らないうちに不審なコードが紛れていないでしょうか。アップロードしたファイルがそのまま閲覧者に届く以上、混入を防ぐ確認は欠かせません。本記事ではその注意点を整理します。

混入はどこから起きるか

マルウェアの混入は、悪意がなくても起こります。出所の怪しいサイトから落とした素材、第三者からもらったZIP、古いライブラリの埋め込みなどが入口になり得ます。

とくにZIPはCSSやJS、画像をまとめて扱えるぶん、中に何が入っているか把握しにくくなります。便利さの裏で、確認していないファイルが混じりやすい点に注意が必要です。

閲覧者に届くという責任

アップロードしたHTMLやZIPは、共有URLを通じて閲覧者のブラウザで表示されます。そこに不審なスクリプトが含まれていれば、見た相手の環境で実行される恐れがあります。

共有は、見せると同時に動かす行為でもあります。自分が確認できていないコードを他人の環境で動かすことになる、という意識を持つと、混入チェックの重要性が見えてきます。

よくあるNG例と安全な直し方

アップロードファイルにマルウェアを混ぜない注意では、「検索に出さない」と「見られないようにする」を混同しないことが重要です。noindexやrobots.txtは検索エンジンへの指示であり、アクセス制限そのものではありません。

安全に共有するには、誰に見られると困るかを先に決め、URL共有だけで足りるのか、認証や期限が必要なのかを選びます。共有相手と機密度が決まったら、URLのみ・パスワード・メール認証・会社ドメイン認証のどれで渡すかを選びます。

  • NG: 機密情報入りHTMLを認証なしURLで共有し、noindexだけで安心する
  • OK: パスワード・メール認証・会社ドメイン認証で閲覧者を絞る
  • NG: テスト用APIキーや社内URLをHTML内に残したまま渡す
  • OK: 公開前に外部送信先、秘密情報、フォーム送信先を確認する

アップロード前の確認手順

混入を防ぐには、アップロードする前に中身を確認する手順を踏みます。すべてを完璧に検査するのは難しくても、出所と中身を意識するだけで多くのリスクは減らせます。

下記は共有前に行いたい確認の順序です。とくに自分で書いていないコードや、外部から取り込んだ素材には注意を払います。

  1. 素材の出所が信頼できるかを確認する
  2. ZIPの中身を展開し、想定外のファイルがないか確認する
  3. HTMLやJSに見覚えのない外部読み込みや難読化コードがないか確認する
  4. 使っているライブラリが古すぎないか確認する
  5. セキュリティソフトでスキャンしてからアップロードする

外部読み込みに注意する

HTMLが外部のスクリプトやリソースを読み込んでいる場合、その読み込み先が安全かどうかも影響します。信頼できないドメインからの読み込みは、後から中身を差し替えられる余地があります。

共有するページが何を読み込んでいるかを把握し、不要な外部依存は削るのが望ましいです。閲覧者の環境で動くものを減らすほど、混入や改ざんの余地も小さくなります。

ギガサイト便での扱い

ギガサイト便はトップページにHTMLやCSS、JS、画像を含むZIPをドロップすると、その場で共有URLが発行されます。アップロードしたものがそのまま配信されるため、混入チェックはアップロードする側の責任になります。

公開URLはHTTPSが自動で適用され、CDNのエッジ配信で表示が速い一方、中身の安全性はファイル次第です。クリーンな素材だけをまとめ、確認したうえでドロップする運用を徹底しましょう。

万一に備えた見せ方

確認しても見落としは起こり得ます。だからこそ、認証で見せる相手を絞り、公開期限で長く晒さないようにしておくと、影響範囲を抑えられます。

問題が見つかったときは、同じURLのままファイルを差し替えられるため、不審なファイルを安全なものへ素早く入れ替えられます。アクセスログで誰が開いたかを確認できる点も、事後対応の助けになります。

よくある質問

マルウェアはどこから混入しますか。

出所の怪しい素材、第三者からもらったZIP、古いライブラリなどが入口になります。悪意がなくても混入は起こるため、出所と中身の確認が欠かせません。

ZIPで共有するときに気をつける点は。

ZIPは中身を把握しにくいため、必ず展開して想定外のファイルがないか確認します。見覚えのないスクリプトや外部読み込みにも注意してください。

アップロードしたファイルの安全性は誰が確認しますか。

ギガサイト便はアップロードしたものをそのまま配信するため、混入チェックはアップロードする側の責任です。クリーンな素材だけを確認のうえドロップしてください。

問題のあるファイルを公開してしまったらどうしますか。

同じURLのままファイルを差し替えられるため、安全なファイルへ素早く入れ替えられます。公開期限や認証で影響範囲を絞り、アクセスログで閲覧状況を確認してください。

noindexを設定すれば認証は不要ですか?

不要ではありません。noindexは検索結果への表示を抑えるための指定で、URLを知っている人の閲覧を止める仕組みではありません。閲覧者を制限したい場合は認証が必要です。

関連記事

セキュリティ

共有HTMLに載せる情報を最小化する考え方

確認用HTMLに本番の顧客データや内部情報をそのまま貼っていませんか。共有する情報が多いほど漏えい時のダメージは大きくなります。必要なものだけを残す「データ最小化」の考え方で、共有HTMLから何を削り何を残すかを解説します。

4分で読める
セキュリティ

共有HTMLの画像に残るExif・位置情報を消してから渡す

写真の本文では場所を伏せていても、Exifデータに撮影地や端末情報が残っていると情報が漏れます。共有HTMLに画像を載せる前に確認すべき項目と、位置情報の削除手順を解説します。

5分で読める
セキュリティ

共有HTMLのフォーム送信先・データの扱いを確認する

共有するHTMLにフォームが含まれているとき、その入力がどこへ送られるか把握していますか。テンプレート流用やAI生成では送信先が意図しない場所のままのことがあります。共有前にフォームの送信先とデータの扱いを確認する方法を解説します。

5分で読める
「セキュリティ」の記事をもっと見る →