
Salesforce Experience Cloud向け自動セキュリティテストツール。ゲストおよび認証済みコンテキストから、設定ミスのあるAuraアプリケーション、アクセス可能なレコード、および不正な機能を発見します。
これはGoogleが公式にサポートする製品ではありません。このプロジェクトはGoogle Open Source Software Vulnerability Rewards Programの対象外です。
aura-inspectorはSalesforce Experience Cloudのテストためのスイスアーミーナイフです。設定ミスがあるSalesforce Experience Cloudアプリケーションの発見を容易にし、テストプロセスの多くを自動化します。詳細についてはMandiantのブログ記事Auditing Salesforce Aura Data Exposureを参照してください。
機能の一部は以下の通りです。
ツールは以下のコマンドでpipxを使用してインストールできます。
pipx install git+<URL>
ツールの実行にはPython 3が必要で、依存関係のダウンロードにはpipが必要です。仮想環境を作成して依存関係をインストールすることを推奨します。
git clone <URL>
cd aura-inspector
virtualenv env
source ./env/bin/activate
pip3 install -r requirements.txt
ヘルプメニューは-hフラグを使用して呼び出すことができ、設定の一覧が表示されます。
python3 aura_cli.py -h
usage: python3 aura_cli.py [-h] [-u URL] [-c COOKIES] [-o OUTPUT_DIR] [-l OBJECT_LIST] [-d] [-v] [-p PROXY] [-k] [-a] [--app APP] [--aura AURA] [--context CONTEXT] [--token TOKEN] [--no-gql] [-r AURA_REQUEST_FILE]
options:
-h, --help show this help message and exit
-u, --url URL Root URL of Salesforce application to audit
-c, --cookies COOKIES
Cookies after authenticating to Salesforce application
-o, --output-dir OUTPUT_DIR
Output directory
-l, --object-list OBJECT_LIST
Pull records only the provided objects. Comma separated list of objects.
-d, --debug Print debug information
-v, --verbose Print verbose information
-p, --proxy PROXY Proxy requests
-k, --insecure Ignore invalid TLS certificates
--app APP Provide the target salesforce app's path (e.g: /myApp), the script will try to detect it if not provided
--aura AURA Provide the target salesforce aura's path (e.g: /aura), the script will try to detect it if not provided
--context CONTEXT Provide a context to be used as aura.context in POST requests, the script will use a dummy one if not provided
--token TOKEN Provide an aura token to be used as aura.token in POST requests, the script will use a dummy one if not provided
--no-gql Do not check for GraphQL capability and do not use it
--no-banner Do not display banner
-r, --aura-request-file AURA_REQUEST_FILE
Provide a request file to an /aura endpoint
このツールはさまざまなシナリオで役立つ多様なオプションを提供します。以下ではいくつかの異なる状況をカバーします。
ツールを標準構成で使用するには、以下のコマンドを実行するだけです。これにより、すべてのチェックが未認証で実行され、ゲストユーザーの視点からアクセス可能なものが返されます。
python3 aura_cli.py -u <URL>
出力では、アカウントを作成するために使用できる自己登録機能があるかどうかも明らかになります。インスタンスにサインアップする機会がある場合、認証済みコンテキストからツールを実行すると、より多くの結果が得られる可能性があります。
認証済みコンテキストでツールを実行するには、-cパラメータを使用してSIDクッキーを指定するか、認証済みセッションでauraエンドポイントへの任意のリクエストの内容を含むファイルを指定して、ツールにこのパラメータや他のパラメータを解析させます。
python3 aura_cli.py -r <AURA_REQUEST_FILE>
1つのインスタンスに複数のカスタムアプリがホストされている可能性があります。これは通常、パスに/<custom-app-name>/sのようなものがある場合に識別できます。その場合は、すべてのアプリを見つけ、--appパラメータを使用して指定することをお勧めします。出力が大きく異なる可能性があるためです。また、インスタンスにカスタムアプリがホストされている場合は、デフォルトアプリ"/"に対してもツールを実行してみることをお勧めします。