# 機密情報の漏洩: OAuth2 client secret が管理者設定で露出 (マスク未処理)

**URL:** https://meta.discourse.org/t/sensitive-information-disclosure-oauth2-client-secret-exposed-in-admin-settings-not-masked/373365
**Category:** Support
**Tags:** oauth2
**Created:** [2025 年 7 月 8 日午後 12:05 UTC](https://meta.discourse.org/t/sensitive-information-disclosure-oauth2-client-secret-exposed-in-admin-settings-not-masked/373365 "2025-07-08T12:05:57Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![supermathie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/supermathie/32/507518_2.png) [@supermathie](https://meta.discourse.org/u/supermathie)
#### Post date: [2025 年 7 月 8 日午後 1:40 UTC](https://meta.discourse.org/t/sensitive-information-disclosure-oauth2-client-secret-exposed-in-admin-settings-not-masked/373365/3 "2025-07-08T13:40:30Z")

</div>

> [@Evie\_Tao](#):
>
> 管理設定UIでOAuth2シークレットのような機密フィールドをマスクする（例：必要に応じて表示するオプション付きで\*\*\*\*\*\*と表示する）計画はありますか？

管理者への情報開示は問題とは考えていませんが、`google_oauth2_client_secret`などと同様に、不必要に表示されないように機密情報としてマークされるべきです。

これは簡単な修正です：

> <https://github.com/discourse/discourse-oauth2-basic/pull/136>
>
> The \`oauth2\_client\_secret\` should be marked as secret to mask it by default in
> t…he admin UI.

> [@Evie\_Tao](#):
>
> - 管理者はプレーンなシークレットを直接設定に入力する必要があります。管理UIにアクセスできる人は誰でもシークレット全体を見ることができます。
> - 攻撃者が管理者セッションに（一時的にでも）アクセスした場合、クライアントシークレットを簡単に取得し、不正なOAuth2トークン要求やサードパーティサービスへの要求の偽装に使用できます。

秘密性と利便性にはトレードオフがあります。UIでシークレットをマスクできないようにしても、アクセスできないという幻想を与えるだけです。データベースから管理者が簡単に読み取る他の方法もあります。

ただし、環境変数経由でシークレット（実際には任意のサイト設定）を指定できます。そうすれば、管理UIに表示されなくなります。

（@pmusarajさん、そうですよね？）

---

_[View the full topic](https://meta.discourse.org/t/sensitive-information-disclosure-oauth2-client-secret-exposed-in-admin-settings-not-masked/373365)._
