> 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/pentesuto/prepare-a-pentest/why-use-a-testing-environment.md).

# テスト環境を使う理由

Aikidoがペンテストをテスト環境で実行するよう求める理由と、一部のテストがデータを変更または削除する可能性がある理由。

一部のテストではデータを変更または削除することがあるため、これをテスト環境で実行するよう警告を見たことがあるかもしれません。実際よりも深刻に聞こえるかもしれません。このページでは、Aikido のエージェントが実際に何をするのか、どんな場合にテストがデータを変更しうるのか、そしてなぜそれでもテスト環境での実行をお願いしているのかを説明します。

## "データを変更または削除する" とは実際どういう意味か

Aikido が本番データベースを消去したり、意図的にサイトを停止させたりするという意味ではありません。

つまり、いくつかのバグが本物であることを証明するために、エージェントが時にはあることをしなければならないということです。それは **変更する** ファイル、レコード、または設定です。これはまれです。ほとんどの証明では必要ありませんが、最悪の場合これで環境が停止することがあり、そのリスクを認識しておく必要があります。

問題を避ける最も簡単な方法は、ペネトストをテスト環境で実行することです。

## エージェントは何かを見つけた後も攻撃を続けますか？

いいえ。Aikido Pentest のエージェントは、 **検出結果を証明したら、その時点で止まるように設計されています**。デフォルトでは、攻撃を続けたり、データベースをダンプしたり、どこまで到達できるかを試したりしません。

後で特定の検出結果についてさらに深掘りし、より先まで攻撃したい場合は、 [人間が介在する形](/docs/docs-ja/pentesuto/coverage-and-findings/human-in-the-loop.md)。これはデフォルト実行には含まれません。

使用するには **さらに攻撃する** と不安なく使うには、最初からテスト環境を整えてください。対象はスコープで指定した同じターゲットに対して実行されるため、後から切り替えるには新しいアセスメントを開始し、すべてをもう一度設定し直す必要があります。

## ほとんどの検出結果は無害な方法で証明できますか？

はい。ほとんどの脆弱性では、証明は損害ではなく、アプリが予期しない動作をしたことを示す無害なシグナルとして現れます。

* **クロスサイトスクリプティング（XSS）：** のようなものを注入し、 `console.log`、セッションを盗むスクリプトではありません。
* **SQLインジェクション：** データベースを数秒停止させる（`SLEEP`）であり、 `DROP TABLE`.
* **アクセス制御の不備：** 別の *テスト用* ユーザーのレコードを読み取り、IDチェックが欠けていることを証明するのであって、実在の顧客を削除するわけではありません。

## 実際の操作でしか証明できないのはどんなときですか？

いくつかのバグは、危険なことを実行しないと確認できません。

よくある例は **パストラバーサル** で、誰かがファイルを削除できるようにするものです。「このファイルを読む」オプションがない場合もあります。テストファイルを削除することが、バグが本物だと知る唯一の方法かもしれません。

**それが実際のリスクです。** テスト環境では、失うのはダミーファイルや偽ユーザーです。本番では、同じ証明が実際のファイル、注文、またはアカウントを削除してしまう可能性があります。

同じ考え方は、削除または更新エンドポイントでしか現れない一部のアクセス制御のバグにも当てはまります。エージェントは *テスト用* チェックが欠けていることを証明するために、レコードを変更または削除する必要があるかもしれません。

## エージェントは実行後に後片付けをしますか？

はい、努めます。エージェントは使い捨てのテストデータ（ユーザー、ファイル、レコード）を作成し、 **それを削除しようとします** 。

後片付けが常に可能とは限りません。削除エンドポイントがない、実行中に権限が変わった、あるいはアプリがもう利用できないこともあります。

それも、テスト環境でダミーデータを使うべきもう一つの理由です。ステージングアプリに残ったテストユーザーやファイルは煩わしいものですが、実際の顧客がいる本番アプリに残ったテストユーザーは問題です。

## 良いテスト環境とはどのようなものですか？

多少壊れても問題ないテスト環境を使ってください：

* 1つの **staging、QA、またはpreview** URLであり、実際の人が使う本番アプリではありません
* **ダミーデータのみ** （実在の顧客のPIIはなし）
* preview URL でも、本番データベースや本番キーを使っているなら十分ではありません
* 本番に十分近く、検出結果が依然として意味を持つこと（同じ機能、同じ認証）

完全な事前チェックリストは、 [ペンテストの準備](/docs/docs-ja/pentesuto/prepare-a-pentest/preparing-for-a-pentest.md).

## 要点

本番を再現したテスト環境で、実際の顧客ではなくダミーデータを使ってペネトストを実行してください。実際のユーザーやデータを危険にさらさずに、それでも意味のある検出結果が得られます。

**不明ですか？** 安全な対象URLの選び方に助けが必要なら、 **Intercomチャット** を右下隅で開いてください。私たちのチームがサポートします！


---

# 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/pentesuto/prepare-a-pentest/why-use-a-testing-environment.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.
