
自動化されたREST API侵入テストフレームワーク。OpenAPI駆動のテスト生成、OWASPに基づく32のセキュリティテスト、およびOAuth2、HTTP Basic Auth、APIキー向けの組み込みアクセス制御処理を搭載。
REST-Attackerは、RESTアーキテクチャスタイルに従うAPI向けの自動ペネトレーションテストフレームワークです。 このツールの焦点は、最小限の設定で、テスト生成、アクセス制御処理、レポート生成を含むテストプロセスを完全に自動化することにより、汎用REST API実装の分析を効率化することです。 さらに、REST-Attackerは柔軟で拡張可能になるように設計されており、大規模テストと詳細分析の両方をサポートします。
REST-Attackerは、ボーフム大学のネットワーク・データセキュリティ学科によってメンテナンスされています。
REST-Attackerは現在以下の機能を提供しています:
リポジトリをダウンロードまたはクローンしてツールを入手してください:
git clone https://github.com/RUB-NDS/REST-Attacker.git
ツールを実行するにはPython >3.10が必要です。
また、pipで以下のパッケージをインストールする必要があります:
python3 -m pip install -r requirements.txt
ここでは、最も一般的で便利なコマンドの簡単な説明を見つけることができます。各コマンドの詳細や利用可能な設定オプションについては、使用方法ガイドをご覧ください。
サポートされているテストケースのリストを取得:
python3 -m rest_attacker --list
基本テストラン(ロード時テストケース生成):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
フルテストラン(ロード時および実行時テストケース生成+レート制限処理):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
選択したテストケースのみのテストラン(テストケースscopes.TestTokenRequestScopeOmitおよびresources.FindSecurityParametersのみを生成):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
レポートからテストランを再実行:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
使用方法ガイドと設定形式のドキュメントは、ドキュメントサブフォルダにあります。
ツールの既知の問題の修正/回避策については、トラブルシューティングドキュメントまたはIssuesセクションを参照してください。
あらゆる種類の貢献を歓迎します!バグを発見した場合、または提案や機能リクエストがある場合は、Issueトラッカーで新しいissueを作成してください。また、pull requestを介して修正やコードの修正を提出することもできます。
残念ながら、時々非常に忙しいため、このリポジトリでのコメントへの返信には時間がかかる場合があります。
このプロジェクトはGNU LGPLv3以降(LGPL3+)の下でライセンスされています。完全なライセンステキストについてはCOPYINGを、著者のリストについてはCONTRIBUTORS.mdを参照してください。