Ce document explique comment configurer le plugin Vectra AI v1.0.0 avec le module Threat Exchange de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour extraire les IoCs de type URL (adresses IPv4 et domaines) des détections sur Vectra AI. Ce plugin ne permet pas de partager des indicateurs avec Vectra AI.
Conditions préalables
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
- Une liste d'URL configurée sur le locataire Netskope.
- A Netskope Cloud Exchange tenant with the Tenant plugin and Threat Exchange plugin already configured.
- Connectivité à l'hôte suivant : Vectra Portal URL.
Exemple :https://<account_id>.cc1.portal.vectra.ai.
Support du plugin Vectra AI
Le plugin Vectra AI récupère les IOCs du type d'URL (adresses IPv4 et noms d'hôtes) de la plateforme Vectra AI. Ce plugin prend en charge le partage des indicateurs.
| Types d'indicateurs prédéfinis | Types d'indicateurs partagés |
|---|---|
| IPv4, Domaines | Non pris en charge |
Mises en correspondance
Mappages de traction
| Champs CE de Netskope | Champs Vectra |
|---|---|
| value | src_host.ip (IPv4) OU src_account.name (Domaine) |
| type | type |
| reputation | certitude // 10 |
| commentaires | summary.description |
| firstSeen | first_timestamp |
| lastSeen | last_timestamp |
| tags | tags |
| extendedInformation | {vectra_url}/detections/{detection_id} |
Permissions
- Rôle : En lecture seule
- Permission : Voir - Détections
Détails de l'API
Liste des API utilisées
| Point final de l'API | Méthode | Cas d'utilisation |
|---|---|---|
| /oauth2/token | PUBLIER | Générer un jeton d'accès |
| /api/v3.4/detections | PUBLIER | Tirer les indicateurs des détections |
Générer un jeton d'accès
API Endpoint: https://<account_id>.cc1.portal.vectra.ai/oauth2/token
Method: PUBLICATION
Request Headers
| Clé | Value |
|---|---|
| Authorization | Basic <client_id:client_secret_key> |
| Content-Type | application/x-www-form-urlencoded |
| User-Agent | 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"
}
Tirer les indicateurs des détections
API Endpoint: https://<account_id>.cc1.portal.vectra.ai/api/v3.4/detections
Method: ALLEZ
Request Headers
| Clé | Value |
|---|---|
| Authorization | Bearer <Access Token> |
| User-Agent | netskope-ce-5.1.0-cte-vectra-ai-v1.0.0 |
Request Parameters
| Clé | Value |
|---|---|
| type | account host |
| state | actif inactif ignoré ignoré pour tous |
| 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": []
},
...
]
}
Matrice de performance
Voici les relevés de performance effectués pour récupérer et pousser 100 000 IOC dans chaque cycle de vie du plugin sur une instance Large CE avec ces spécifications.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Indicateurs extraits de Vectra AI | ~25k per minute |
Agent utilisateur
netskope-ce-5.1.0-cte-vectra-ai-v1.0.0
Workflow
- Obtenez votre certificat Vectra AI.
- Configurez le plugin Vectra AI.
- Ajouter une règle de gestion.
- Ajouter une configuration de partage.
- Validez le plugin.
Cliquer sur « play » pour regarder une vidéo.
Obtenez votre certificat Vectra AI
- Dans Vectra AI, allez dans Manage > API Clients et cliquez sur Add API Client.

- Créez un client API New avec ces paramètres :
- Rôle : Le rôle associe le client API à un ensemble d'autorisations, de la même manière qu'un rôle est attribué à un utilisateur de l'interface utilisateur Detect. Le rôle doit être l'un des suivants :
- Read-Only
- Administration restreinte
- Analyste de la sécurité
- Paramètres Admin
- Auditor
- Nom : Entrez un nom pour identifier ce client (jusqu'à 256 caractères).
- Description : Entrez une description pour identifier ce client (jusqu'à 2048 caractères).
- Rôle : Le rôle associe le client API à un ensemble d'autorisations, de la même manière qu'un rôle est attribué à un utilisateur de l'interface utilisateur Detect. Le rôle doit être l'un des suivants :
- Une fois terminé, cliquez sur Generate Credentials pour obtenir vos identifiants clients.

- Veillez à copier votre numéro de client et votre clé secrète pour les conserver. Vous en aurez besoin pour configurer le plugin Vectra AI.
Configurer le plugin Vectra AI
- Dans Cloud Exchange, accédez à Settings > Plugins.
- Cherchez et sélectionnez la boîte de plugin Vectra AI v1.0.0 (CTE) .

- Entrez ces valeurs :
- Nom de la configuration : Nom de la configuration du plugin.
- Sync Interval : Intervalle de récupération des données de ce plugin.
- Critères de vieillissement : Les indicateurs expirent au bout d'un certain temps. (Valeur par défaut : 90)
- Ignorer la réputation : Définissez une valeur pour remplacer la réputation des indicateurs reçus de cette configuration. (Valeur par défaut : 5)
- Stratégie d'agrégation des balises : Choisissez d'ajouter les balises New aux objets de confiance existants ou de les écraser. Ce paramètre détermine la manière dont les étiquettes sont stockées pour les indicateurs tirés dans le cadre de cette configuration.
- Activer la validation SSL : Activez la validation du certificat SSL.
- Utiliser le proxy du système : Activez cette option si le proxy est nécessaire pour la communication.

- Cliquez sur Next. Entrez ces valeurs :
- Vectra Portal URL: Your Vectra Portal URl.
Example: https://<account_id>.cc1.portal.vectra.ai - API Client ID : Votre ID de client API Vectra AI.
- Clé secrète du client API : Votre clé secrète de client API Vectra AI.
- Type d'entité : Les indicateurs seront tirés en fonction du type d'entité sélectionné pour les détections. Type de compte pour extraire les domaines et Type d'hôte pour extraire les adresses IP des détections. Select Tous les types d'entités pour récupérer les indicateurs des deux types d'entités des détections.
- État : Les indicateurs seront tirés en fonction de l'état sélectionné des détections. Select Tous les états pour récupérer les indicateurs de tous les états des détections.
- Catégorie de détection : Seuls les indicateurs des catégories de détection spécifiées seront recherchés. Les indicateurs de toutes les catégories de détection seront recherchés, à l'exception de la catégorie Info si la catégorie de détection est vide.
- Certitude : les indicateurs de détection supérieurs ou égaux à la certitude spécifiée seront recherchés. La valeur autorisée doit être supérieure ou égale à 0.
- Tags : Les indicateurs de la détection dont les balises sont séparées par des virgules seront recherchés. Garder vide pour récupérer les indicateurs de toutes les détections. (Ex. ABC,XYZ)
- Activer le balisage : Activer/désactiver la fonctionnalité de marquage.
- Intervalle de rétraction (en jours) : Nombre de jours d'intervalle de rétraction pour exécuter la rétraction d'un ou de plusieurs IoC pour les indicateurs Vectra AI. Notez que ce paramètre n'est pris en compte que si l'option de rétraction des éléments de preuve est activée dans les paramètres de Threat Exchange. Ce paramètre ne s'applique qu'à la version 5.1.0 de Netskope CE.
- Initial Range (in days) : Nombre de jours pour extraire les données pour l'exécution initiale.


- Vectra Portal URL: Your Vectra Portal URl.
- Cliquez sur Save.

Configurer une règle de gestion Threat Exchange pour Vectra AI
Pour partager les indicateurs extraits de Vectra AI vers Cloud Exchange, vous avez besoin d'une règle de gestion qui filtre les indicateurs que vous souhaitez partager. Pour configurer une règle de gestion :
- Allez à Threat Exchange > Business Rule et cliquez sur Create New Rule.
- Ajoutez le filtre selon vos exigences dans la règle, puis cliquez sur Save.

Configurer le partage de Threat Exchange pour Vectra AI
Pour partager les IoCs de Vectra AI vers Netskope Cloud Exchange :
- Allez à Threat Exchange > Sharing et cliquez sur Add Sharing Configuration.
- Select your Source Configuration (CTE Vectra AI), a Business Rule, the Destination Configuration (CTE Netskope), and Target.
- Cliquez sur Save.

Valider la Vectra AI
Valider le retrait
Pour vérifier les données disponibles pour le pulling sur Vectra AI, suivez les étapes ci-dessous.
Connectez-vous à Vectra AI et allez sur Detections.

Les données extraites seront répertoriées sur la page IoCs de la menace. Vous pouvez filtrer les IoCs extraits de la plateforme en utilisant le filtre : sources.source Like "<plugin configuration name>".


Pour vérifier les journaux tirés dans Cloud Exchange, allez sur Logging et recherchez les journaux du plugin CTE Vectra AI.

Validez la rétractation de la traction
Vous pouvez filtrer les journaux liés à la rétractation en utilisant le filtre : sources.source Like "[Retraction]".

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

Notez que lorsque les IoCs partagés entre Vectra AI et une tierce partie seront rétractés, ils seront marqués comme "<plugin-config-name>: retracted " dans le résultat de la rétractation. Si elles ne sont pas supprimées par le plugin tiers, le résultat de la rétractation sera en attente.

Valider la rétractation de la poussée
Push is not supported for Vectra. To push IoCs from Vectra AI to Netskope, or to see the IoC retraction workflow, refer to IoC Retraction.
Les IoCs tirés de Vectra AI ont été partagés vers une liste d'URL Vectra-demo sur le Netskope Tenant.

Si l'un des IoC partagés est marqué comme rétracté dans Cloud Exchange, il sera également supprimé du locataire Netskope.
Vous pouvez voir ici les IoC qui ont été marqués Retracted "Yes" et qui ont également été supprimés de la liste des URL sur le locataire Netskope.

Dépannage
Impossible d'extraire des IoC de la plateforme Vectra AI
Après la configuration du plugin, si les IoC ne sont pas extraits de la plateforme, cela peut être dû à l'une des raisons suivantes :
- Aucun CIO n'est disponible sur la plateforme pour tirer
- Les COI ne sont pas disponibles pour la période donnée ou ne correspondent pas aux paramètres de configuration.
What to do: Identifiez la cause première du problème et suivez les étapes ci-dessous pour résoudre le problème.
Aucun IoC n'est disponible sur la plateforme pour tirer
Vérifier si les IoC sont disponibles sur la plateforme à tirer. Si elle est disponible, vérifiez la résolution pour le point suivant.
Les IoC ne sont pas disponibles pour l'intervalle de temps donné
Si les IoC sont disponibles sur la plateforme à extraire, mais que le plugin n'a pas extrait les IoC dans Cloud Exchange, vérifiez le nombre de jours mentionné dans le paramètre de la plage initiale de la configuration du plugin. Sur la plateforme Vectra AI, vérifiez si vous disposez de données pour la période donnée.
Si les données sont toujours disponibles pour la période donnée, il se peut que les IoCs pour le filtre fourni dans la configuration du plugin ne soient pas disponibles, vérifiez donc les valeurs du paramètre de configuration du plugin, puis filtrez de la même manière sur la plateforme Vectra AI.
Impossible de configurer le plugin Vectra AI
Cela peut être dû à des informations d'identification non valides pour Vectra AI dans la configuration.
What to do: Suivez les étapes de la section Configurer l'enfichage de Vectra AI.
Comportement connu
Problème de limite de taux :
En testant le plugin, nous avons rencontré les erreurs suivantes à plusieurs reprises lors de la configuration du plugin, de l'extraction des détections et de l'exécution de la tâche de rétractation.
| 03/03/2025 14:07:05 | – | error | CTE Vectra AI [CTE Vectra AI] : Code de sortie 429 reçu, limite de taux API dépassée lors de la génération du jeton d'authentification de Vectra AI. Réessai après 30 secondes. Il reste 3 tentatives. |

