Blackbox Blast
BB Preflight
← 事故ログへ

CASE · 重大 · infra-failure

検証済み運営者の一次記録

解約したドメインが、公開サイト・決済ページ・自動投稿に残っていた

解約済みのドメインが、公開中サイトのscriptタグ・決済ページ・自動投稿ツールの既定設定に参照されたまま残っており、ドメイン自体は第三者がまもなく取得できる状態だった。

約2分で読めます

発生日
分類
infra-failure
影響範囲
reputation, financial, data
検知
manual-audit
タグ
#domain #dns #supply-chain #automation

CH 1

原因

ドメインの解約は単一の操作として実行されたが、そのドメインは複数の独立した自動化パイプラインに既定値としてハードコードされていた。全ての参照箇所を一掃する単一の手順が存在しなかった。

CH 2

結果

参照が除去される前に第三者がドメインを再取得していれば、公開サイトの全ページと決済ページで任意のJavaScriptを実行し、自動投稿パイプラインにリンクを注入できた状態だった。

CH 3

対策

ドメインを解約する前に、必ず全プロジェクトディレクトリを横断検索して参照を洗い出す。外部ドメインをコード内の暗黙の既定値にしない——未設定なら、存在しないかもしれないものにフォールバックするのではなく、明示的にエラーで止める。

何が起きたか

既に廃止された送客システムが使っていたドメインを解約した。 まだそのドメインを参照している箇所がないか、誰も確認しに戻らなかった。

現場の混乱

WHOISを見るとドメインはpendingDelete/redemptionPeriod——つまり まもなく誰でも取得できる状態だった。その一方で:

  • 公開中のブログが全ページでそのドメインからscriptタグを読み込んでいた
  • 決済サイトも同じscriptを読み込み、さらに売上データとBasic認証の 資格情報をそのドメイン上のAPIエンドポイントへPOSTしていた
  • 投稿済みのSNS投稿本文にまだそのリンクが残っていた
  • 自動投稿ツールがそのドメインを既定値としてハードコードしており、 承認済み・未投稿の下書きが1件、そこから生成されたリンクを持っていた

いずれも悪用はされなかった。誰かがドメインを取得する前に発見・遮断できたが、 これらの参照はすべて生きたまま待ち構えていた。

原因

「ドメインを解約する」は1つの操作として実行されたが、そのドメインは いつの間にか複数の無関係な自動化パイプラインの暗黙の依存先になっていた ——scriptタグ、webhookの送信先、既定設定値。誰も「このドメインを参照している 全箇所」を単独で把握していなかったため、一括で掃除する手順が存在しなかった。

対策

ドメインを解約する前に、必ず全プロジェクトを対象にその文字列を検索する。 外部ドメインをコード内の暗黙の既定値として生かしておかない——明示的に 設定されていないなら、今はもう別の誰かのものかもしれないものへ静かに フォールバックするのではなく、明確なエラーで止める。

出典

  • 運営者自身が起こした事故の一次記録です。外部に公開された元記事はありません。
PREFLIGHTあなたの Mac の備えは、大丈夫?BB Preflight は、AIエージェントの権限や鍵の置き場所など21項目を、読み取りだけで点検する無料の Mac 用ツールです。点検してみる →