html2wp / セキュリティ

html2wpのセキュリティ:脆弱性を報告する方法

件名に「SECURITY」と入れて、hello@html2wp.devへメールしてください。セキュリティの問題を、GitHubの公開Issueで報告するのはお控えください。Issueは登録した瞬間から公開されます。そのため、修正版をインストールできるようになる前に、スキルの利用者全員が問題にさらされてしまいます。

報告の方法

問題を再現するのに必要な情報をすべて書いてください。バージョンまたはコミット、手順、本来どうなるはずだったかです。PoC(攻撃が実際に成立することを示すデモ)があると助かりますし、歓迎します。ただし、PoCがなくても報告できます。

ドキュメントで説明している/v1/reportエンドポイントは、この用途には向いていません。これはジェネレーターの不具合を受け付ける窓口で、担当者が通常のバグ報告と一緒に読んでいます。

報告後の流れ

  • 3営業日以内に、報告を受け取ったことをお知らせします。
  • 10営業日以内に、問題の評価とおおよそのスケジュールをお伝えします。
  • ご希望があればリリースノートにお名前を記載します。不要であれば記載しません。

返事がないとき

私たちは小さなチームで、セキュリティ専門の部署を持つ会社ではありません。上の期限を過ぎても返事がなければ、もう一度送ってください。見落としているだけで、無視しているわけではありません。

対象となるもの

  • スキルと、skills/html2wp/assets/scripts/にあるスクリプト。これらはお使いのコンピューター上で動きます。
  • api.html2wp.devの変換サービス。
  • サービスが生成するWordPressテーマ。同梱されるPHPランタイムとコンテンツインポーターを含みます。

小さく見えても報告していただきたいものがあります。入力ディレクトリとワークスペースの外にあるファイルを読む、または送信する動作。ある変換から別の変換が見えてしまう問題。生成されたテーマのうち、認証なしでアクセスできる部分。本来は拒否すべきテーマを、完了した変換が渡してしまう問題です。

対象外のもの

  • ご自身で選んで使っているWordPress、PHP、プラグインのバージョンに関する指摘で、更新すれば解決するもの。
  • test-env.shがローカル検証に使う、Docker上の使い捨てWordPress。管理者パスワードは意図的に固定です。127.0.0.1でのみ待ち受け、実行のたびに削除されます。公開サイトではなく、テスト用の環境です。
  • クライアントからライセンスチェックを取り除けるという報告。はい、取り除けます。クライアントはあなたのもので、自由に編集できます。セキュリティに関わる部分は、そのチェックに依存していません。何を利用できるかはサービス側が判断します。有料の機能は、キーがなければサービスが生成を拒否するものそのものです。
  • api.html2wp.devに対する大量アクセス型のサービス妨害攻撃(大量のリクエストを送りつけるもの)と、スキャナーをかけただけの結果。

サービスに対するテスト

テストは、ご自身の変換とご自身のライセンスキーで行ってください。ほかのアカウントのジョブ、成果物、ワークスペースにアクセスしようとしないでください。アクセスできる方法を見つけたと思ったら、それこそ送っていただきたい報告です。方法を説明していただければ十分です。他人のデータで証明する必要はありません。

お使いのコンピューターから送られるもの

これはデータのページとプラグインのREADMEで説明しています。セキュリティポリシーで初めて知るような内容ではないからです。要点はこうです。ビルド済みのサイトがサービスへ送られ、変換はそれに対して行われます。ゲートの判定結果は別に報告され、中身は名前と数値だけです。ステージ1では、認証情報らしきファイルを送信データから除外し、除外したものをすべて一覧にします。このフィルターをすり抜けるものを見つけたら、それは対象です。

このページは、プラグインのリポジトリに含まれるSECURITY.mdファイルに基づいています。両者の内容が食い違う場合は、リポジトリのファイルが優先されます。