このドキュメントでは、 Netskope Cloud Exchangeプラットフォームの Threat Exchange モジュールを使用して Vectra AI v1.0.0 プラグインを構成する方法について説明します。 このプラグインは Vectra AI の検出結果から URL (IPv4 アドレスとドメイン) タイプの IoC を取得します。 このプラグインは、Vectra AIへのインジケーターの共有をサポートしていません。
前提条件
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskopeテナントに設定されたURLリスト。
- Netskope Cloud Exchangeテナントには、テナントプラグインと脅威交換プラグインが既に設定済みです。
- 次のホストへの接続: Vectra Portal URL。
例: https:// <account_id> .cc1.portal.vectra.ai。
Vectra AIプラグインのサポート
Vectra AI プラグインは、Vectra AI プラットフォームから URL のタイプ (IPv4 アドレスとホスト名) の IOC を取得します。 このプラグインはインジケーターの共有をサポートしています。
| 取得したインジケータータイプ | 共有指標タイプ |
|---|---|
| IPv4、ドメイン | サポートされていません |
マッピング
プルマッピング
| Netskope CE Fields | ベクトラ・フィールズ |
|---|---|
| value | src_host.ip (IPv4) または src_account.name (ドメイン) |
| タイプ | タイプ |
| reputation | 確実性 // 10 |
| コメント | summary.description |
| firstSeen | first_timestamp |
| lastSeen | last_timestamp |
| tags | tags |
| extendedInformation | {vectra_url}/detections/{detection_id} |
権限
- 役割: 読む専用
- 権限: 検出結果の表示
APIの詳細
使うAPI一覧
| APIエンドポイント | 方法 | 使うケース |
|---|---|---|
| /oauth2/token | 役職 | アクセストークンを生成する |
| /api/v3 .4/検出 | 役職 | 検出結果から指標を取得する |
アクセストークンを生成する
API Endpoint: https://<account_id>.cc1.portal.vectra.ai/oauth2/token
Method: POST
Request Headers
| 鍵 | Value |
|---|---|
| Authorization | Basic <client_id:client_secret_key> |
| Content-Type | application/x-www-form-urlencoded |
| ユーザーエージェント | netskope-ce-5.1.0-cte-vectra-ai-v1.0.0 |
Request Body
{"grant_type": "client_credentials"}
Sample API Response
{
"access_token": "Z0FBQUFBQm54VWxBdVc…",
"expires_in": 21600,
"refresh_expires_in": 86400,
"refresh_token": "eyJzdWIiOiAiNzRjNDZiZ…..",
"token_type": "Bearer"
}
検出結果から指標を取得する
API Endpoint: https://<account_id>.cc1.portal.vectra.ai/api/v3.4/detections
Method: GET
Request Headers
| 鍵 | Value |
|---|---|
| Authorization | Bearer <Access Token> |
| ユーザーエージェント | netskope-ce-5.1.0-cte-vectra-ai-v1.0.0 |
Request Parameters
| 鍵 | Value |
|---|---|
| タイプ | アカウント ホスト |
| state | アクティブ 非アクティブ 無視 すべて無視 |
| detection_category | command,reconnaissance,lateral,exfiltration,info |
| certainty_gte | 50 |
| page | 1 |
| page_size | 500 |
| ordering | last_timestamp |
| last_timestamp_gte | 2025-02-28T10:40:06Z |
Sample API Response
{
"count": 12,
"next": null,
"previous": null,
"results": [
{
"summary": {
"app_names": [
"Thunder Jaw Backdoor"
],
"description": "This account has granted excessive or risky access to a third-party cloud application, which may allow malicious activities to be performed on behalf of this account."
},
"is_triaged": true,
"triage_rule_id": 48,
"certainty": 0,
"detection_url": "https://308714519558.cc1.portal.vectra.ai/api/v3.4/detections/172",
"id": 172,
"filtered_by_rule": false,
"note": "Endace link: [click here](https://endace.example.com/vision2/v1/pivotintovision/?datasources=tag%3Aall&title=Vectra172&start=1735914347000&end=1735918307000&ip=None&tools=trafficOverTime_by_app%2Cconversations_by_ipaddress)",
"src_ip": null,
"note_modified_by": "API Client 0f9bd9c6",
"first_timestamp": "2023-09-22T19:52:22Z",
"detection_type": "Azure AD Suspicious OAuth Application",
"is_targeting_key_asset": false,
"is_custom_model": false,
"url": "https://308714519558.cc1.portal.vectra.ai/api/v3.4/detections/172",
"state": "active",
"threat": 0,
"data_source": {
"type": "o365",
"connection_name": "M365-Fictotech",
"connection_id": "nmz7j2ai"
},
"sensor": "nmz7j2ai",
"assigned_date": null,
"last_timestamp": "2025-03-01T21:41:22Z",
"detection_category": "command_and_control",
"groups": [],
"is_marked_custom": true,
"tags": [
"Endace",
"testdev"
],
"note_modified_timestamp": "2025-01-15T18:24:30Z",
"custom_detection": "AI-Filtered",
"src_host": null,
"type": "account",
"description": null,
"filtered_by_ai": true,
"created_timestamp": "2023-09-22T20:36:10Z",
"filtered_by_user": false,
"detection": "Azure AD Suspicious OAuth Application",
"sensor_name": "Vectra X",
"notes": [
{
"id": 9920,
"date_created": "2025-01-15T18:24:30Z",
"date_modified": null,
"created_by": "api_client_0f9bd9c6140a47298bbde23c5be0dbd4",
"modified_by": null,
"note": "Endace link: [click here](https://endace.example.com/vision2/v1/pivotintovision/?datasources=tag%3Aall&title=Vectra172&start=1735914347000&end=1735918307000&ip=None&tools=trafficOverTime_by_app%2Cconversations_by_ipaddress)"
}
],
"src_account": {
"id": 18,
"name": "O365:adam_admin@fictotech.com",
"url": "https://308714519558.cc1.portal.vectra.ai/api/v3.4/accounts/18",
"threat": 0,
"certainty": 0,
"privilege_level": null,
"privilege_category": null
},
"assigned_to": null,
"investigation_pivot_link": null,
"grouped_details": [
{
"app_name": "Thunder Jaw Backdoor",
"scope": "Mail.Read User.Read offline_access openid profile",
"user_type": "Unknown",
"last_timestamp": "2025-03-01T21:41:22Z"
},
...
]
},
{
"summary": {
"dst_ips": [],
"num_sessions": 0,
"bytes_sent": 0,
"bytes_received": 0,
"description": "This host communicated with an external destination using HTTPS where another protocol was running over the top of the session. The host appeared to be under the control of the external destination."
},
"is_triaged": false,
"triage_rule_id": null,
"certainty": 5,
"detection_url": "https://308714519558.cc1.portal.vectra.ai/api/v3.4/detections/34794",
"id": 34794,
"filtered_by_rule": false,
"note": null,
"src_ip": "192.168.49.140",
"note_modified_by": null,
"first_timestamp": "2025-02-28T19:16:06Z",
"detection_type": "Hidden HTTPS Tunnel",
"is_targeting_key_asset": false,
"is_custom_model": false,
"url": "https://308714519558.cc1.portal.vectra.ai/api/v3.4/detections/34794",
"state": "active",
"threat": 5,
"data_source": {
"type": "Unknown sensor type",
"connection_name": "Unknown sensor name",
"connection_id": "w4ftj0a8"
},
"sensor": "w4ftj0a8",
"assigned_date": null,
"last_timestamp": "2025-03-02T18:44:28Z",
"detection_category": "command_and_control",
"groups": [],
"is_marked_custom": false,
"tags": [],
"note_modified_timestamp": null,
"custom_detection": null,
"src_host": {
"id": 976,
"ip": "192.168.49.140",
"name": "IP-192.168.49.140",
"url": "https://308714519558.cc1.portal.vectra.ai/api/v3.4/hosts/976",
"is_key_asset": false,
"groups": [
{
"id": 43,
"name": "Test-24",
"description": "Host",
"last_modified": "2025-01-23T09:47:11Z",
"last_modified_by": "API Client ec19d574",
"type": "host"
},
{
"id": 11,
"name": "TEST RENAME-Test",
"description": "Executive Machines, created by Cognito",
"last_modified": "2024-12-11T09:41:31Z",
"last_modified_by": "API Client 25cb417a",
"type": "host"
}
],
"threat": 61,
"certainty": 31
},
"type": "host",
"description": null,
"filtered_by_ai": false,
"created_timestamp": "2025-02-28T19:42:26Z",
"filtered_by_user": false,
"detection": "Hidden HTTPS Tunnel",
"sensor_name": "EDR Sensor",
"notes": [],
"src_account": null,
"assigned_to": null,
"investigation_pivot_link": null,
"grouped_details": []
},
...
]
}
パフォーマンスマトリックス
以下は、これらの仕様を持つ大規模CEインスタンス上で、各プラグインライフサイクルにおいて10万個のIOCを取得およびプッシュする際に実施したパフォーマンス測定結果です。
| デスクリプション | 仕様 |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| Vectra AIから取得した指標 | ~25k per minute |
ユーザーエージェント
netskope-ce-5.1.0-cte-vectra-ai-v1.0.0
ワークフロー
- Vectra AI クレデンシャルを入手してください。
- Vectra AIプラグインを設定します。
- ビジネスルールを追加します。
- 共有設定を追加します。
- プラグインを検証してください。
再生ボタンをクリックして動画をご覧ください。
Vectra AI クレデンシャルを入手
- Vectra AIで、 Manage > API Clientsに移動してAdd API Clientをクリックします。

- 次のパラメータを使用して新しい API クライアントを作成します。
- 役割:役割は、APIクライアントを権限のセットにマッピングするもので、Detect UIユーザーに役割が割り当てられるのと同様の仕組みです。その役割は以下のいずれかでなければなりません。
- Read-Only
- 制限付き管理者
- セキュリティアナリスト
- 設定管理者
- Auditor
- 名前:このクライアントを識別するための名前を入力してください(256文字以内)。
- デスクリプション: このクライアントを識別するデスクリプションを入力します (最大 2048 文字)。
- 役割:役割は、APIクライアントを権限のセットにマッピングするもので、Detect UIユーザーに役割が割り当てられるのと同様の仕組みです。その役割は以下のいずれかでなければなりません。
- 終わったら、 Generate Credentials をクリックしてクライアントのクレデンシャルを受け取ってください。

- クライアントIDと秘密鍵は必ずコピーして保管してください。Vectra AIプラグインを設定するには、これらが必要です。
Vectra AIプラグインの設定
- Cloud Exchange で、 Settings > Pluginsに移動します。
- Vectra AI v1.0.0 (CTE)プラグインボックスを検索して選択します。

- 以下の値を入力してください。
- 設定名:プラグインの設定名。
- 同期間隔:このプラグインからデータを取得する間隔。
- 有効期限基準:特定の期間が経過すると、表示が失効します。(デフォルト値:90)
- 評判の上書き:この設定から受信した指標の評判を上書きする値を設定します。(デフォルト値:5)
- タグ集約戦略:既存のIoCに新しいタグを追加するか、上書きするかを選択します。このパラメータは、この構成で取得されたインジケーターのタグの保存方法を決定します。
- SSL検証を有効にする:SSL証明書の検証を有効にします。
- システムプロキシ:通信にプロキシが必要な場合は有効にしてください。

- Nextをクリックしてください。以下の値を入力してください。
- Vectra Portal URL: Your Vectra Portal URl.
Example: https://<account_id>.cc1.portal.vectra.ai - APIクライアントID:Vectra AI APIクライアントID。
- APIクライアントシークレットキー:Vectra AI APIクライアントのシークレットキー。
- エンティティタイプ:検出されたエンティティタイプに基づいて、インジケーターが取得されます。検出結果からドメインを取得するアカウントタイプと、IPアドレスを取得するホストタイプを指定します。検出された両方のエンティティタイプから指標を取得するには、「すべてのエンティティタイプ」 Select 。
- 状態:検出された状態に応じて、インジケーターが取得されます。検出対象となったすべての州から指標を取得するには、「すべての州」 Select 。
- 検出カテゴリ:指定された検出カテゴリからの指標のみが取得されます。検出カテゴリが空の場合、情報カテゴリを除くすべての検出カテゴリからの指標が取得されます。
- 確実性:指定された確実性以上の検出指標が取得されます。許容値は0以上でなければなりません。
- タグ: 指定されたカンマ区切りのタグを持つ検出結果からの指標が取得されます。すべての検出結果から指標を取得するには、空欄のままにしてください。(元。ABC、XYZ)
- タグ付けを有効にする:タグ付け機能を有効/無効にします。
- 撤回間隔(日数):Vectra AIインジケーターのIoC撤回を実行するまでの日数。このパラメータは、脅威交換設定でIoC(侵害指標)の撤回が有効になっている場合にのみ考慮されることに注意してください。このパラメータは、Netskope CE バージョン 5.1.0 にのみ適用されます。
- 初期範囲(日数):初回実行時にデータを取得する日数。


- Vectra Portal URL: Your Vectra Portal URl.
- Saveをクリックしてください。

Vectra AI 用の脅威交換ビジネスルールを設定する
Vectra AIから取得した指標をCloud Exchangeに共有するには、共有したい指標をフィルタリングするビジネスルールが必要です。ビジネスルールを設定するには:
- Threat Exchange > Business Ruleに移動してCreate New Ruleをクリックしてください。
- ルールに要件に応じてフィルターを追加し、 Saveをクリックします。

Vectra AI の脅威交換共有を設定する
Vectra AIからNetskope Cloud ExchangeにIoCを共有するには:
- Threat Exchange > Sharingに移動してAdd Sharing Configurationをクリックしてください。
- ソース構成(CTE Vectra AI)、ビジネスルール、宛先構成(CTE Netskope )、およびターゲットSelect 。
- Saveをクリックしてください。

Vectra AIを検証する
プルを検証する
Vectra AIで取得可能なデータを確認するには、以下の手順に従ってください。
Vectra AIにログインしてDetectionsに移動してください。

抽出されたデータは、脅威IoC(侵害指標)ページに掲載されます。プラットフォームから取得した IoC をフィルタリングするには、フィルタを使用します: sources.source<plugin configuration name> “” のようにします 。


Cloud Exchange で取得したログを確認するには、 Loggingにアクセスして、CTE Vectra AI プラグインのログを検索してください。

プルリトラクションを検証する
撤回に関連するログは、 フィルター: sources.source Like “[Retraction]”でフィルタリングできます。

You can validate the retracted IoCs on the Threat IoCs page:

Vectra AI からサードパーティに共有された IoC が取り消された場合、取り消し結果に「<plugin-config-name>: retracted」とマークされることに注意してください。サードパーティ製プラグインから削除されない場合、取り消し結果は保留状態になります。

プッシュリトラクションを検証する
Vectraではプッシュ機能はサポートされていません。Vectra AI から Netskope に IoC をプッシュする方法、または IoC 撤回ワークフローを確認するには、 「IoC 撤回」を参照してください。
Vectra AI から取得した IoC は、 NetskopeテナントのVectra-デモというURL リストに共有されました。

Cloud Exchangeで共有IoCのいずれかが撤回済みとしてマークされた場合、Netskopeテナントからも削除されます。
ここでは、撤回済みとして「はい」とマークされ、NetskopeテナントのURLリストからも削除されたIoC(侵害指標)を確認できます。

トラブルシューティング
Vectra AI プラットフォームから IoC を取得できない
プラグインの設定後、プラットフォームからIoCが取得されない場合は、以下のいずれかの理由が考えられます。
- プラットフォーム上には取得可能なIOCがありません
- 指定された期間に対応するIOC(侵害指標)が利用できないか、構成パラメータと一致しません。
What to do: 上記から根本原因を特定し、以下の手順に従って問題を解決してください。
プラットフォーム上にはプル可能なIoCがありません
プラットフォーム上でIoC(侵害指標)が利用可能かどうかを確認してください。可能であれば、次の項目の解決策を確認してください。
指定された期間のIoCは利用できません
プラットフォーム上でIoCが取得可能であるにもかかわらず、プラグインがCloud ExchangeでIoCを取得していない場合は、プラグイン設定の初期範囲パラメータで指定されている日数を確認してください。Vectra AI プラットフォームで、指定された時間範囲のデータがあるかどうかを確認します。
指定された時間範囲のデータがまだ利用可能な場合、プラグイン構成で指定されたフィルタの IoC が利用できない可能性があるため、プラグイン構成パラメータの値を確認してから、Vectra AI で同じフィルタを適用してください。
Vectra AIプラグインの設定ができません
これは、構成内の Vectra AI に対して無効なクレデンシャルが原因である可能性があります。
What to do: Vectra AIプラグインの設定セクションの手順に従ってください。
既知の動作
レート制限の問題:
プラグインのテスト中に、プラグインの設定、検出結果の取得、および取り消しタスクの実行中に、以下のエラーが複数回発生しました。
| 2025年3月3日 午後2時07分05秒 | – | error | CTE Vectra AI [CTE Vectra AI]: Vectra AI から認証トークンを生成中に、API レート制限を超過したため、終了コード 429 を受信しました。30秒後に再試行します。残り再試行回数:3回。 |

