「Salesforceデータ漏えい」は設定ミスが主な原因? Googleが指摘する“見落とし”:不備を見抜くCLIツール公開
Mandiantは、SalesforceのAuraフレームワークにおける“よくある設定ミス”を特定するオープンソースのCLIツール「AuraInspector」を公開した。
クラウドサービスにおける情報漏えいでは、高度なサイバー攻撃によるものではなく、「管理者の設定ミス」や「権限の見落とし」に起因するケースが目立っている。多くの企業で使われているCRM(顧客関係管理)ツール「Salesforce Experience Cloud」で発生している問題も、その典型例と言える。
Googleのセキュリティ部門Mandiantは2026年1月13日(米国時間)、SalesforceのUI(ユーザーインタフェース)開発フレームワーク「Aura」内のアクセス制御の設定ミスを特定するための、オープンソースのCLI(コマンドラインインタフェース)ツール「AuraInspector」を公開した。Salesforce Experience Cloudで発生しているインシデントの多くは、高度な攻撃によるものではなく、管理画面上の設定ミスや見落としによって生じているという。
Googleが指摘する“見落とし”と対策ポイント
Auraは、Salesforceの標準UI「Lightning Experience」の基盤技術となっている。Auraのエンドポイントは、フロントエンド(画面側の処理)からバックエンド(サーバ側)にアクセスし、オブジェクトレコード(顧客情報や商談履歴などのデータ)を取得するために使われる。利用者の権限に応じて「aura-enabled」と呼ばれるメソッドを呼び出すことが可能で、特に「getConfigData」メソッドを使うと、バックエンドのデータベースで使用されているオブジェクトの一覧が返される。
Auraのエンドポイントは、フロントエンドがバックエンドからオブジェクトレコードなどの情報を取得するために使用される。権限に応じて「aura-enabled」メソッドを呼び出すことができ、特に「getConfigData」メソッドを使用すると、バックエンドのデータベースで使用されているオブジェクトのリストが返される。
Auraを用いたデータ取得の仕組みと制限の回避
Salesforce Experience Cloudでは、UIにデータを表示するために、特定のAuraメソッドを呼び出すコンポーネントが存在する。例えば、「getItems」というメソッドを使用すると、ユーザーがアクセス権を持つ特定のオブジェクトのレコードを取得できる。
ただし、このメソッドには標準状態で一度に最大2000レコードまでしか取得できないという制限がある。Mandiantの調査によると、「sortBy」というパラメーターを活用してソート順を変更することで、この制限を回避して追加のレコードを取得できることが分かった。フィールド名の前に「-」を付けることで昇順・降順を切り替え、本来アクセスできなかった範囲のデータまで取得が可能になるという。
レコードリストとホームURLの露出リスク
Salesforceの「レコードリスト」コンポーネントは、ユーザーがアクセス権を持つオブジェクトに関連付けられたレコードの一覧を画面に表示する機能だ。通常は、各オブジェクトに対するアクセス制御(権限設定)が適切に構成されていれば問題は発生しない。しかし、アクセス制御の設定ミスがあると、認証されていない外部ユーザーでもレコード一覧を閲覧できてしまう恐れがある。
加えて、「getAppBootstrapData」メソッドを使用することで、直接ブラウズ可能なURLを取得できる。Mandiantは過去の調査において、この手法によりサードパーティー製モジュールの管理パネルが認証なしでアクセス可能な状態になっていることを確認した。マーケットプレースのアプリケーションをインストールした際に自動生成されるページもあり、管理者が手動で全てを追跡するのは困難な場合がある。
セルフ登録機能の設定不備
Salesforceのゲストアカウントのセキュリティは近年強化されているが、認証済みアカウントを取得できれば、ゲストではアクセスできないレコードを閲覧できるリスクが高まる。これを防ぐには「セルフ登録」機能を無効にする必要がある。
Mandiantは、ログインページからセルフ登録へのリンクを削除しただけで、機能自体は無効になっていないケースを確認した。「LoginFormController」の「getIsSelfRegistrationEnabled」および「getSelfRegistrationUrl」メソッドを使用すれば、セルフ登録が有効かどうかと、そのURLを即座に特定できる。
「GraphQL」を利用した2000レコード制限の突破
Salesforceは、UI API(アプリケーションプログラミングインタフェース)を介してアクセス可能なオブジェクトからレコードを取得できる「GraphQL API」を提供している。公式ドキュメントには「GraphQL Auraコントローラー」に関する記載はないが、Mandiantはこれを未認証ユーザーから実行可能なリクエスト構成を特定した。
このコントローラーを使用すると、以下のことが可能になるという。
- レコードおよびオブジェクト情報の標準化された取得
- ページネーションの改善による、全レコードの取得
- 組み込みのイントロスペクション(オブジェクトの調査)によるフィールド名の特定
- ミューテーション(データを書き換える操作)のサポートによる書き込み権限のテスト
特に重要なのは、2000レコードの制限を受けずに、オブジェクトにひも付く全てのレコードを取得できる点だ。
カーソル方式を用いたページネーションにより、2000件ずつのバッチ処理で全てのデータを一貫して取得できる。これらの挙動自体は脆弱(ぜいじゃく)性ではなく、基盤となるオブジェクト権限を尊重するものだが、設定ミスがある場合には、攻撃者が大量のレコードにアクセスする手段として悪用される恐れがある。
推奨される対策
Mandiantは、これらの設定ミスを修正するために以下のステップを推奨している。
- ゲストユーザーの権限監査
- プロファイルに最小権限の原則を適用し、公共向け機能に必要なオブジェクトとフィールドへの読み取り権限のみを許可する
- 認証済みユーザーのプライベートデータ保護
- 共有ルールと組織全体のデフォルト(既定)設定を見直し、明示的に許可されたレコードのみにアクセスできるよう制限する
- セルフ登録の無効化
- 必要ない場合は機能を無効にし、不正なアカウント作成を防止する
- Salesforceセキュリティベストプラクティスの順守
- 「Security Health Check」ツールの使用を含め、提供されている推奨事項を実装する
今回公開されたAuraInspectorは、これらの手法を自動化し、管理者が自社の環境における不備を特定するのを支援する。悪用を避けるため、公開版のツールにはレコードの抽出機能は実装されていない。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「バイブコーディングが脆弱なコード量産」 99%の組織が直面 レビューや修正リリースを上回るペースで
パロアルトネットワークスは、世界10カ国の開発・情報セキュリティ部門を対象にした調査「クラウドセキュリティの現状2025」の結果を発表した。AIツールの進展により1日当たりのサイバー攻撃件数は1年間で230万件から約900万件へ急増したという。
「ダークWebで個人情報を検出しました」 アカウント“流出”の原因と、その予防策
個人情報がダークWebに流出した場合、詐欺やアカウント乗っ取りに悪用されるリスクが高まる。ESETがダークWebでの流出が確認された場合の対処を解説した。
もし「社長」から怪しい指示が来たら? 2〜3月も続く「CEO詐欺」メールをラックが分析、対策を提言
2025年末から、企業代表者の実名をかたってLINEのグループ作成やアカウント情報の提供を求める「CEO詐欺」メールが相次いでいる。サイバーセキュリティ企業ラックの調査では、150社以上が注意喚起していることが判明した。年度末に向けてさらなる攻撃の可能性があり、警戒が必要だ。




