Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cats — OpenAPIエンドポイント向けの自動REST APIファザーおよびネガティブテストツール。コーディング不要で数千の自己修復テストを生成、実行、レポートし、境界やセキュリティのシナリオをカバーします。 | Kitploit
ツール/GitHubGitHub/endava/cats
脆弱性スキャナーAPIセキュリティテストウェブセキュリティファジング
GitHubendava/cats

cats

OpenAPIエンドポイント向けの自動REST APIファザーおよびネガティブテストツール。コーディング不要で数千の自己修復テストを生成、実行、レポートし、境界やセキュリティのシナリオをカバーします。

リポジトリを見る
1.4k90352日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CATS logo

CI Commits

License Java Version GraalVM Quality Gate Status Coverage Bugs Code Smells

CATSのドキュメントは https://endava.github.io/cats/ で入手できます。

REST APIファザーおよびネガティブテストツール。コーディング不要で、数千の自己修復型APIテストを数分で実行できます!

  • 包括的: テストは多数のシナリオに基づいて自動生成され、すべてのフィールドとヘッダーをカバーします
  • インテリジェント: テストはデータ型と制約に基づいて生成されます。各Fuzzerはテスト対象のシナリオに応じて特定の期待値を持ちます
  • 高度に設定可能: 豊富なカスタマイズが可能です。特定のFuzzer、HTTPレスポンスコード、HTTPメソッド、リクエストパスをフィルタリングしたり、ビジネスコンテキストを提供したり、その他多くのことができます
  • 自己修復: テストが生成されるため、OpenAPI仕様の変更は自動的に反映されます
  • 習得が簡単: 学習曲線は緩やかで、直感的な設定と構文を備えています
  • 高速: 数千のシナリオを数分でカバーする、テストの作成・実行・レポートの自動プロセス

時間がないですか? 1分間クイックスタートガイドをご覧ください!

概要

シンプルで最小限の構文と緩やかな学習曲線を持つCATS(Contract API Testing and Security)を使えば、コーディング不要で数千のAPIテストを数分で生成できます。 すべてのテストは、事前定義された100以上のFuzzerのセットに基づいて自動的に生成、実行、レポートされます。 Fuzzerは、完全にランダムな大きなUnicode値から、リクエストのデータ型と制約に基づいて巧みに作成されたコンテキスト依存の値まで、幅広い境界テストとネガティブシナリオをカバーします。 さらに、CATSがリクエストペイロードを動的に生成するという特性を活かして、シンプルなエンドツーエンドの機能テストを書くこともできます。

HTMLレポート

CATS

コマンドライン

CATS

ターミナルインターフェース

通常のファジングコマンドで --tui を使用すると、ターミナルを離れることなく実行を追跡し、結果を検査できます:

cats --contract openapi.yml --server http://localhost:8080 --tui

概要には、Paths、Run configuration、Response time、HTTP Response Codes、Success/Warnings/Errors、および実行されたFuzzerが、CLIとHTMLレポートと同じ用語で表示されます。Fuzzerテーブルは利用可能なすべてのターミナル行を使用します。完全なリストが収まらない場合は、j/k または Page Up/Page Down で閲覧できます。2 を押すとExecution Details、3 でExecution summaryとQuality gate result、4 でExecution Details by Result Reason、5 でPaths included、6 でResponse Time順にソートされた実行済みテストが表示されます。Result ReasonとPathの行は、Enterで対応するテストを開きます。

矢印キーまたは j/k でテストを選択し、Enterを押すと、そのリクエスト、レスポンス、結果、トレース、リプレイコマンドを全画面の詳細ビューで検査できます。テストリストで / を押すと、テストID、Fuzzer、パス、シナリオ、結果理由、メソッド、結果、レスポンスコードを検索できます。a、e、w、s、i は、すべて、エラー、警告、成功、スキップされた結果をフィルタリングします。Escは、まずアクティブな検索をクリアし、それ以外の場合は前の画面に戻ります。1 で概要を開きます。

q を押すとインターフェースを終了します。実行中の場合、これはキャンセルを要求し、可能な場合は現在のテストを終了させ、すでに書き込まれた結果を保持し、ステータス 130 で終了します。実行が終了した後は、q は通常どおり終了します。

TUIには、少なくとも80列×24行のインタラクティブなターミナルが必要で、--dryRun と組み合わせることはできません。OpenAPIベースのファジングコマンドで利用可能です。スタンドアロンの template コマンドは引き続き通常のCLI出力を使用します。TUIはデフォルトで最新の10,000件のテスト詳細を保持します。別の正の上限を選択するには --tuiMaxResults を使用します。古い詳細が破棄されても、集計統計は実行全体をカバーし続けます。

CATSの使用方法に関するチュートリアル

CATSの使用方法に関するステップバイステップガイドを含む記事のリストです:

  • Testing the GitHub API with CATS
  • How to write self-healing functional tests with no coding effort

CATSによって発見されたいくつかのバグ

  • https://github.com/hashicorp/vault/issues/13274 | https://github.com/hashicorp/vault/issues/13273
  • https://github.com/hashicorp/vault/issues/13225 | https://github.com/hashicorp/vault/issues/13232
  • https://github.com/go-gitea/gitea/issues/19397 | https://github.com/go-gitea/gitea/issues/19398
  • https://github.com/go-gitea/gitea/issues/19399

インストール

Homebrew

> brew tap endava/tap
> brew install cats

手動

CATSは、実行可能JARまたはネイティブバイナリの両方としてバンドルされています。ネイティブバイナリにはJavaのインストールは不要です。

お使いのOSのネイティブバイナリをダウンロードした後、他のコマンドラインツールと同様に実行できるようにPATHに追加できます:

sudo cp cats /usr/local/bin/cats

cats_autocomplete スクリプトをダウンロードして、以下のようにすることでオートコンプリートを取得することもできます:

source cats_autocomplete

永続的なオートコンプリートを取得するには、上記の行を .zshrc または .bashrc に追加しますが、cats_autocomplete スクリプトの完全修飾パスを指定するようにしてください。

代替のセットアップについては、cats_autocomplete のソースも確認できます。

Windows用のネイティブバイナリはありませんが、uberjarバージョンを使用できます。これにはJava 25+がインストールされている必要があります。

java -jar cats.jar として実行できます。

最新バージョンをダウンロードするには、リリースページにアクセスしてください:https://github.com/Endava/cats/releases。

TLS

CATSはデフォルトでサーバー証明書とホスト名を検証します。自己署名証明書を使用する信頼されたテスト環境では、--insecure で検証を明示的に無効にできます。

相互TLSには、--sslKeystore、--sslKeystorePwd、--sslKeyPwd を使用します。--sslKeyPwd を省略した場合、CATSは秘密鍵にキーストアのパスワードを使用します。

シークレットとリプレイ

CATSはデフォルトでレポート内の認証ヘッダーと機密クエリパラメータをマスクし、リクエスト値をリプレイ可能な $$EnvironmentVariable プレースホルダーに置き換えます。CATSが実行されるディレクトリに、シークレット値を含まない replay.env.example を作成します。

CATSは、存在する場合 ./.env を自動的に読み込みます。別のファイルを選択するには --envFile path/to/cats.env を使用するか、通常、ランダム、機能、テンプレート、リプレイの各コマンドでdotenvの読み込みを無効にするには --noEnvFile を使用します。プロセス環境変数はdotenvの値より優先されます。マスクされていないレポートとコンソール出力が明示的に必要な場合にのみ --showSecrets を使用してください。

レスポンスの安全性予算

CATSは --callTimeout を超える呼び出しをキャンセルします(デフォルトは20秒)。また、展開されたレスポンスボディの最大 --maxResponseBytes(デフォルトは10 MiB)までしかキャプチャしません。いずれかのオプションを 0 に設定すると、その制限が無効になります。切り詰められたレスポンスはステータスとヘッダーを保持し、ボディ全体の検証をスキップし、専用の警告とともに報告されます。

--dryRun が有効な場合、CATSはローカル設定を解析し、ターゲットサービス、WFCログインエンドポイント、認証スクリプト、更新チェック、レポートライターを呼び出すことなくテスト数を計算します。

ソースからのビルド

ローカルマシンでCATSをソースからビルドできます。Java 25 が必要です。Mavenはすでにバンドルされています。

最初のビルドを実行する前に、必ず ./mvnw clean を実行してください。CATSは OKHttp のフォークを使用しており、これは 5.X.X-CATS バージョンでローカルにインストールされるため、公式バージョンを上書きする心配はありません。

プロジェクトをuberjarとしてビルドするには、以下のMavenコマンドを使用できます:

./mvnw package -Dquarkus.package.type=uber-jar

target フォルダに cats-runner.jar が生成されます。java -jar cats-runner.jar ... で実行できます。

GraalVM Javaバージョン を使用してネイティブイメージをビルドすることもできます。

./mvnw package -Pnative

ユニットテストに関する注意

ユニットテストの実行中に、いくつかの error ログメッセージが表示される場合があります。これらはFuzzerのネガティブシナリオをテストするための想定された動作です。

コントリビューション

CONTRIBUTING.md を参照してください。

ツールをダウンロード