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