テスト環境を使う理由
Aikidoがペンテストをテスト環境で実行するよう求める理由と、一部のテストがデータを変更または削除する可能性がある理由を説明します。
このテストはテスト環境で実行するよう警告されるのを見たことがあるかもしれません。というのも、一部のテストはデータを変更したり削除したりする可能性があるからです。それは通常起きることよりもひどく聞こえます。このページでは、Aikido のエージェントが実際に何をするのか、いつテストがデータを変更しうるのか、そしてそれでもテスト環境での実行をお願いする理由を説明します。
「データを変更または削除する」の本当の意味
これは、Aikido が本番データベースを消去したり、意図的にサイトを停止させたりするという意味ではありません。
これは、あるバグが本物であることを証明するために、エージェントが時には次のようなことをしなければならないことを意味します。 変更する ファイル、レコード、または設定を。これはまれです。ほとんどの証明では必要ありませんが、最悪の場合、これによって環境が停止する可能性があり、このリスクを認識しておく必要があります。
問題を避ける最も簡単な方法は、ペンテストをテスト環境で実行することです。
何かを見つけた後も、エージェントは攻撃を続けるのですか?
いいえ。Aikido Pentest のエージェントは、 発見を証明したら停止するように作られています。既定では、攻撃を続けたり、データベースをダンプしたり、どこまで進めるかを試したりはしません。
特定の所見に対するより詳細なフォローアップは さらに悪用する。評価後にその所見から開始します。デフォルトの実行には含まれません。
使うには さらに悪用する ことを気にせずに済ませるには、最初からテスト環境を用意してください。スコープに含めた同じ対象に対して実行されるため、後から切り替えると、新しい評価を始めてすべてをやり直すことになります。
ほとんどの発見は、害のない方法で証明できますか?
はい。ほとんどの脆弱性では、証明は被害ではなく、アプリが予期しない動作をしたことを示す無害なシグナルのようなものです。
- クロスサイトスクリプティング(XSS): 次のようなものを注入する
console.logようなもので、セッションを盗むスクリプトではありません。 - SQL インジェクション: データベースを数秒間停止させる(
SLEEP)のであって、DROP TABLE. - アクセス制御の不備: 別の テスト ユーザーのレコードを読み取り、ID チェックが欠けていることを証明するのであって、実際の顧客を削除するわけではありません。
唯一の証明が実際の操作であるのはいつですか?
いくつかのバグは、危険なことを実行しないと確認できません。
よくある例は パストラバーサル で、誰かがファイルを削除できてしまうものです。「このファイルを読む」という選択肢がない場合もあります。テスト用ファイルを削除することだけが、そのバグが本物だと分かる唯一の方法かもしれません。
それが実際のリスクです。 テスト環境では、ダミーファイルや偽のユーザーを失うだけです。本番環境では、同じ証明によって本物のファイル、注文、アカウントが削除される可能性があります。
同じ考え方は、削除または更新のエンドポイントでしか表面化しない一部のアクセス制御バグにも当てはまります。エージェントはチェックが欠けていることを証明するために、 テスト レコードを変更または削除する必要があるかもしれません。
エージェントは後片付けをしてくれるのですか?
しようとはします。エージェントは使い捨てのテストデータ(ユーザー、ファイル、レコード)を作成し、 それを削除しようとします 。
後片付けが常に可能とは限りません。削除エンドポイントがない、実行中に権限が変わった、あるいはアプリがもう利用できない、といった場合があります。
だからこそ、テスト環境でダミーデータを使うことが重要です。ステージングアプリに残ったテストユーザーやファイルは厄介です。実際の顧客がいる本番アプリに残ったテストユーザーは問題です。
良いテスト環境とはどのようなものですか?
壊しても困らないテスト環境を使ってください:
- ある ステージング、QA、またはプレビュー の URL。実際の人が使う本番アプリではありません
- ダミーデータのみ (実際の顧客の PII はなし)
- プレビュー URL でも、引き続き本番データベースや本番キーを使っているなら十分ではありません
- 本番に十分近く、発見が依然として重要であること(同じ機能、同じ認証)
完全な事前チェックリストについては、 ペンテストの準備.
要点
本番を反映したテスト環境で、実際の顧客の代わりにダミーデータを使ってペンテストを実行してください。実際のユーザーや実データを危険にさらすことなく、それでも意味のある発見が得られます。
よくわかりませんか? 安全な対象 URL を選ぶのに助けが必要なら、 Intercomチャット 右下隅にあります。私たちのチームがお手伝いします!