> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/penetorshontesuto/integrate-your-supabase-projects.md).

# Supabase プロジェクトを統合

Supabase 組織を Aikido に接続すると、ペンテストエージェントがセットアップに関するより深いコンテキストを得られるため、通常なら見逃される可能性のあるセキュリティ問題を見つけやすくなります。

{% hint style="warning" %}
ペンテストを実行すると、エージェントはアプリケーションの脆弱性を見つけようとして、それとやり取りする必要があります。その結果、Supabase プロジェクトにテストデータが作成される場合があります。
{% endhint %}

## Supabase ペンテストでは何が対象になりますか？

Supabase 連携により、Aikido は Supabase プロジェクトの設定を確認し、ペンテストエージェントがより隠れたセキュリティ問題を見つけるために必要なコンテキストを提供します。

以下の領域がテストされます：

* **RLS ポリシー：** これらは、誰がデータを閲覧または変更できるかを決定します。設定が誤っていると、本来は非公開である顧客データや業務データが、誤ったユーザーに公開される可能性があります。
* **Storage バケット：** これらには、機密性の高いアップロード、ドキュメント、画像、エクスポートが含まれることがよくあります。わずかな設定ミスで、気づかないうちに機密ファイルが公開されてしまうことがあります。
* **Edge Functions：** これらは、支払い、アカウント操作、連携など、重要なバックエンドロジックを扱うことがよくあります。適切に保護されていないと、攻撃者がそのロジックを悪用したり、その背後のデータにアクセスしたりできる可能性があります。
* **PostgREST の露出：** Supabase は API 経由でデータベースのデータを公開できます。意図したデータと操作だけに到達できるよう、これを確認する必要があります。
* **Auth 設定：** ログインとサインアップの設定は、ユーザーアカウントを保護するものです。設定が弱いと、アカウントの悪用、偽のサインアップ、不正アクセスが可能になるおそれがあります。
* **Realtime：** Realtime 機能は、ユーザーにライブ更新を送信します。アクセス範囲が広すぎると、更新が誤ったユーザーに送られることで機密データが公開される可能性があります。
* **Service キーと anon キーの露出：** キーはアプリを Supabase に接続するためのものです。誤った場所に露出すると、攻撃者がプロジェクトを悪用する手段を与えてしまう可能性があります。
* **データベース設定：** 公開スキーマの露出や危険な拡張機能によって、データベースの機密領域が意図せず開かれることがあります。これをテストすることで、攻撃者がデータにアクセスするために悪用できる危険な設定を、事前に見つけやすくなります。

## Supabase を接続してペンテストを実行

Supabase の接続は OAuth 認可フローを使用します。Aikido には、フロー中に選択した Supabase 組織へのアクセス権が付与され、そのアクセスは Supabase からいつでも取り消せます。

{% stepper %}
{% step %}
**アプリケーションタイプとして Supabase を選択**

Aikido でペンテストプロジェクトを開き、 **評価を作成**。 **アプリケーション** の手順で、 **Supabase** を、ペンテストしたいアプリケーションの種類として選択します。

<div data-with-frame="true"><figure><img src="/files/8c8d0a28db6e5ab7ea712041d0018c7b1a0bab8f" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**スコープを定義し、Supabase 接続を開始**

Supabase プロジェクト上に構築されたアプリケーションのエントリポイントを追加します。これは Supabase の URL ではなく、アプリケーションの URL である必要があります。

Aikido はアプリケーションのエントリポイントを使用して、実際の攻撃者と同じように Supabase の設定をテストします。これにより、エージェントはアプリケーションとビジネスフローの文脈を把握でき、特定の設定が意図したものか、それとも潜在的に危険かを判断しやすくなります。

本番環境をできるだけ忠実に再現したテスト環境でペンテストを実行することを推奨します。

で **Supabase プロジェクト** セクションで、 **Supabase を接続** して OAuth フローを開始します。

<div data-with-frame="true"><figure><img src="/files/09f24bf575ffa482375256d4b08a04d8c78eb5a4" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Supabase で Aikido を承認**

Supabase にリダイレクトされ、要求された権限を確認し、アクセスを許可する組織を選択できます。

承認を許可してください。Aikido は短期間のみ有効な認可コードを受け取り、それを更新トークンと交換して、あなたのプロジェクト一覧表示に使用します。Personal Access Token を作成または保存する必要はありません。

<div data-with-frame="true"><figure><img src="/files/a346a6e48b3efb80c9f58c764ba52f781096a935" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**クラウド構成に名前を付ける**

Aikido に戻ったら、接続した Supabase 組織に名前を付け、それが表す環境（本番、ステージングなど）を選択します。これにより、Aikido は重要度とビジネスへの影響に基づいて検出結果の優先順位を付けやすくなります。

<div data-with-frame="true"><figure><img src="/files/921bce5e1cf7134ec2934f1c8d3ef0c6944ee4d9" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Supabase プロジェクトを選択**

Aikido から **範囲** 手順に戻ります。 **プロジェクトを追加** ドロップダウンからテストしたいプロジェクトを選択します。Aikido はそのプロジェクトの Supabase ドメイン（または設定済みであればカスタムドメイン）を自動的にペンテストのスコープに追加します。

<div data-with-frame="true"><figure><img src="/files/446c57d28691b80ca80c35e6cd39e26ed69e27e7" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/a55c73e58502f5ae23ac32a92ac518429ede21ac" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**残りのセットアップを完了**

Aikido の評価フローの残りの手順を進めます。最も重要なのは、テストユーザーを追加すること（Aikido がアプリの認証済み領域に到達できるようにするため）と、検出されたドメインを確認することです。

各セクションでは、以下を確認してください：

* [ペネトストの設定方法](/docs/docs-ja/penetorshontesuto/configure-a-pentest/starting-an-assessment.md) - セットアップフロー全体の概要
* [テストユーザーの設定](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing.md) - より広範にカバーするためのテストユーザーとロールの追加
* [評価範囲](/docs/docs-ja/penetorshontesuto/configure-a-pentest/scope-of-assessment.md) - ドメインを攻撃可能またはアクセス可能としてマーク
* [コードとドキュメントの活用](/docs/docs-ja/penetorshontesuto/configure-a-pentest/leveraging-code-and-documentation.md) - エージェントが RLS ポリシーと Edge Functions を推論できるよう、リポジトリをリンク
* [安全対策](/docs/docs-ja/penetorshontesuto/configure-a-pentest/safety-measures.md) - 実行前の安全性チェックを確認

このペンテストプロジェクトでまだ Supabase ドメインの所有権を確認していない場合は、 [Supabase ドメインの検証](/docs/docs-ja/penetorshontesuto/configure-a-pentest/domain-verification/supabase.md).
{% endstep %}

{% step %}
**ペンテストを選択**

次の **料金** の手順に従い、ニーズに合うペンテストの種類を選択してください：

* **Supabase テスト** - Supabase プロジェクト内の脆弱性を見つけることに特化したターゲット型ペンテスト。
* **標準** - Supabase テストも含む、アプリケーションの標準ペンテスト。
* **適正化された** - アプリケーションの規模に応じた、アプリケーションのフルペンテスト。これにも Supabase テストが含まれます。
  {% endstep %}

{% step %}
**ペンテストを開始**

すべて設定済みです。クリック **ペンテストを開始** をクリックして評価を開始します。
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/penetorshontesuto/integrate-your-supabase-projects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
