通報・IOC

security.txtジェネレーター

ローカルで動作

ツール自体は英語ですが、このページではお客様の言語でその使い方を説明しています。

security.txtジェネレーター を使用してください

機能の説明

研究者や、あなたのブランドをまねたフィッシングを報告する人が連絡先を知ることができるよう、security.txtファイルを作成します。結果は/.well-known/security.txtとして保存してください。

すべてブラウザ上で動作します。入力した内容は一切アップロードされません。

security.txtジェネレーター の使い方

  1. 連絡先を入力する. 「連絡先」に、セキュリティチームへの連絡方法を1行につき1つずつ入力してください。例:mailto:security@example.com、報告フォームのhttps://アドレス、またはtel:番号など。メールアドレスのみが記載されている場合は、自動的に「mailto:」が追加されます。
  2. 有効期限を設定する. Expiresで日付を選びます。既定は今日から1年後ですが、RFC 9116は1年未満を推奨しているため、もっと早い日付を選んでください。
  3. 任意のフィールドを追加する. Preferred-Languages(既定はen)、Canonical、Policy、Encryption、Acknowledgments、Hiringを、該当するものがあれば入力します。空欄のフィールドはファイルから除かれます。
  4. 生成してコピーする. Generate(生成)を押し、出力欄で結果を確認します。ツールは入力どおりにコピーするため、すべてのアドレスをもう一度確認してからCopyを押してください。
  5. 公開して更新する. テキストをHTTPSのサイト上の/.well-known/security.txtとして保存し、必要ならgpg --clearsignで署名し、期限が切れる前に更新する日付を控えておきます。

例

最小限のファイル

入力
mailto:security@example.com
出力(2026-10-20に記録)
Contact: mailto:security@example.com
Expires: 2027-10-20T23:59:59.000Z
Preferred-Languages: en

「Contact: mailto:security@example.com」、「Expires」の値として1年後の23:59:59Z、「Preferred-Languages: en」を生成します。これらは2つの必須フィールドと言語のヒントであり、RFC 9116では「Expires」の日付を1年以内にすることを推奨している旨の注意書きも付加されます。

チェック対象

シグナルその意味
Contact:連絡先ごとに1行ずつ、入力した順に並べてください。RFC 9116の規定に従い、各項目は「mailto:」、「https://」、または「tel:」形式のURIでなければなりません。「http://」や形式が正しくない値を入力すると、ファイルの代わりにエラーが表示されます。
Expires:選んだ日付の23:59:59 UTCで、ミリ秒付きで書かれます。たとえば2027-03-31T23:59:59.000Zです。日付の欄を空にすると、Generateで新しいファイルが作られなくなります。
Preferred-Languages:既定はenです。en, deのようにカンマ区切りの言語コードを使うか、欄を空にしてこの行を省きます。
Canonical:このファイルが置かれている完全なhttps://アドレスです。別の場所から配信されたコピーを見分けられます。
Encryption:OpenPGP公開鍵へのリンクで、報告者が機密の詳細を暗号化できるようにします。
Policy、Acknowledgments、Hiring脆弱性開示ポリシー、報告者への謝辞のページ、セキュリティ関連の求人へのリンクです。いずれも任意で、ツールはリンクが機能するかを確認しません。
Contactにはロールアドレスを個人のメールボックスではなく、自分のドメインのsecurity@のように、チームが確認しているアドレスやフォームを使ってください。人が異動しても報告が届き続けます。
Error: Contact is required「連絡先」が空の場合に表示されます。エラーが発生した場合は、そのエラーメッセージが出力に置き換えられ、フィールドが修正されるまで何も生成されない旨の注意書きが表示されます。

その他の例

言語とポリシーを含むWebフォーム

入力
Contact https://example.org/report-security, Expires 2027-03-31, Preferred-Languages en, de, Canonical https://example.org/.well-known/security.txt, Policy https://example.org/security-policy
結果

次の順に5行が出力されます。Contact: https://example.org/report-security、Expires: 2027-03-31T23:59:59.000Z、Preferred-Languages: en, de、Canonical: https://example.org/.well-known/security.txt、Policy: https://example.org/security-policy。

鍵付きのメール連絡先(言語なし)

入力
Contact mailto:abuse@example.net, Expires 2027-06-30, Preferred-Languages cleared, Encryption https://example.net/pgp-key.txt
結果

3行が出力されます。Contact: mailto:abuse@example.net、Expires: 2027-06-30T23:59:59.000Z、Encryption: https://example.net/pgp-key.txtです。

Contactが空の場合

入力
All fields filled except Contact
結果

エラー:「連絡先」の入力が必須ですが、何も生成されなかったというメッセージが表示されています。他のフィールドの値はそのまま残っていますので、「連絡先」を入力し、もう一度「生成」をクリックしてください。

よくある質問

必須のフィールドはどれですか?

RFC 9116 では、少なくとも 1 つの Contact フィールドと、正確に 1 つの Expires フィールドが必須とされており、それ以外はオプションです。 各「Contact」行は、mailto:、https://、またはtel: のURIでなければなりません(単純な電子メールアドレスには「mailto:」が追加されます)。「Expires」は将来の日付でなければならず、これらのいずれかが欠落しているか無効な場合、Generateはファイルの代わりにエラーを表示します。

Expiresはいつに設定すべきですか?

日付はデフォルトで「今日から1年後」に設定されていますが、RFC 9116では「1年未満」と推奨されているため、この推奨に従うにはそれより早い日付を選択してください。日付が1年以上先の場合、ページ上でその旨が通知されます。RFCでは、有効期限が切れたsecurity.txtは「古くなった」ものとして扱われるべきであるとされているため、その日付より前にファイルを更新してください。

何かをアップロードしたり署名したりしますか?

いいえ。ファイルはブラウザ内で組み立てられ、どこにも送信されません。署名もされません。RFC 9116はOpenPGPのクリアテキスト署名を推奨しており、公開前にgpg --clearsignで付けることができます。

連絡先を複数記載できますか?

はい。RFC 9116 では、優先順位の高い順に読み込まれる複数の「Contact」行が許可されています。「Contact」フィールドには、1 行につき 1 つの連絡先を入力してください。重複する連絡先は 1 回だけ書き込まれます。

ファイルは正確にはどこに置きますか?

https://your-domain/.well-known/security.txtに置き、HTTPSでプレーンテキストとして配信します。/security.txtにコピーやリダイレクトを置くのは任意です。

1つのファイルでサブドメインもカバーできますか?

いいえ。RFC 9116では、security.txtが適用されるのは取得元のホストだけで、そのサブドメインや親ドメインには適用されません。wwwやshopなど、人が確認しそうな各ホストにコピーを公開してください。

security.txtは、自社ブランドをまねたフィッシングに対してどのように役立ちますか?

あなたの名前を使った類似サイトや偽メールを見つけた人は、多くの場合あなたに知らせたいと考えます。機能するContact行があれば、その報告は一般のサポート窓口ではなくセキュリティチームに届くため、類似ドメインにより早く対処できます。

用語解説

PhishDestroyの調査