FireEye ETP Event Collector
Use this integration to fetch email security incidents from Trellix Email Security - Cloud as Cortex XSIAM events.
Email · Trellix Email Security - Cloud
Details
| ID | FireEye ETP Event Collector |
|---|---|
| Provider | Trellix |
| Category | |
| From Version | 8.2.0 |
| Docker Image | demisto/python3:3.12.13.10404775 |
| Supported Modules | Agentix XSIAM |
README
Use this integration to fetch email security incidents from Trellix Email Security - Cloud as XSIAM events.
This is the default integration for this content pack when configured by the Data Onboarder in Cortex XSIAM.
Authentication Prerequisites
To ensure a successful connection, you must select the correct authentication method based on the Server URL (Instance URL) you are configuring.
Dual Authentication Methods
We support two different authentication methods depending on the endpoint domain:
| Domain Used in Server URL | Authentication Method | Required Parameters |
|---|---|---|
Ends in trellix.com |
OAuth 2.0 | Client ID, Client Secret, and OAuth Scopes |
Ends in fireeye.com |
API Key | API Key (only) |
Configure Trellix Email Security - Cloud Event Collector in Cortex
| Parameter | Description | Required |
|---|---|---|
| Server URL (e.g., https://etp.us.fireeye.com) | List of valid URLs: US Instance: https://etp.us.fireeye.com or https://us.etp.trellix.com EMEA Instance: https://etp.eu.fireeye.com or https://eu.etp.trellix.com APJ Instance: https://etp.ap.fireeye.com or https://ap.etp.trellix.com USGOV Instance: https://etp.us.fireeyegov.com CA Instance: https://etp.ca.fireeye.com or https://ca.etp.trellix.com |
True |
| Client ID | For the Trellix server URL (OAuth). | False |
| Client Secret | For the Trellix server URL (OAuth). | False |
| OAuth Scopes | For the Trellix server URL (OAuth). Space-separated list of OAuth scopes. Note: Only include scopes that your application’s Client ID has already been authorized to use. The full list is: etp.conf.ro etp.trce.rw etp.admn.ro etp.domn.ro etp.accs.rw etp.quar.rw etp.domn.rw etp.rprt.rw etp.accs.ro etp.quar.ro etp.alrt.rw etp.rprt.ro etp.conf.rw etp.trce.ro etp.alrt.ro etp.admn.rw |
False |
| Token URL | Override the OAuth 2.0 token endpoint base URL. Leave empty to use the default Trellix IAM endpoint. For Trellix GovCloud tenants, set to https://iam.us.trellix-gov.com. |
False |
| API Secret Key | For the FireEye server URL. The API Key allows you to integrate with the Trellix Email Security - Cloud. | False |
| Maximum number of Alerts to fetch. | The maximum number of Alert events to fetch from Trellix Email Security - Cloud. | |
| Maximum number of Email Trace to fetch. | The maximum number of Email Trace events to fetch from Trellix Email Security - Cloud. | |
| Maximum number of Activity Log fetch. | The maximum number of Activity Log events to fetch from Trellix Email Security - Cloud. | |
| Trust any certificate (not secure) | ||
| Use system proxy settings | ||
| Fetch outbound traffic | Outbound traffic will be fetched in addition to inbound traffic. | |
| Hide sensitive details from email | Hide subject and attachments details from emails. |
Note: If API access permissions are not properly set for the user/role, the authentication attempt will fail with a 400 Client Error: Bad Request even if the Client ID and Secret are otherwise correct.
Access control
All the API requests follow the domain and domain group restrictions of the user. For example, if a user has access to only a few domains in their organization, the response to the APIs will be based on only those domains and domain groups.
REST API Limitation
Email Security — Cloud REST APIs have a rate limit of 60 requests per minute per API route (/trace, /alert, and /quarantine) for every customer.
This means, in 1 minute, a customer can make:
- 60 requests to Trace APIs (parallel or sequential)
- 60 requests to Alert APIs (parallel or sequential)
- 60 requests to Quarantine APIs (parallel or sequential)
Within the minute, the 61st request to any of these APIs would throw a rate limit exceeded error.
The rate limit applies to the customer as a whole. This means that if the customer has multiple admin users who have generated API Keys, the rate limit is applicable at the customer level and not per API key.
Event Direction & “Shared Content” Across Event Types
What you may see
In XSIAM you may notice that the same email content (e.g., subject/message-ID) appears as multiple events, sometimes with different directions (inbound vs outbound) or even in different event types (e.g., both Email Trace and Alert). This is expected:
- Inbound vs Outbound of the same conversation
A user receives an email (inbound) and later forwards/replies externally (outbound). Trellix generates two separate events—one per transaction—so both appear in XSIAM. - Distribution lists / group expansion
An inbound message to a list can fan-out and create outbound traffic to external members, yielding additional outbound events. - Internal mail
Some environments also produce “internal/domain-internal” transactions scanned by the gateway. (See note below about thedirection_sourcefield.)
How this collector annotates direction
To make the direction explicit in XSIAM, the collector adds a synthetic field:
| Field | Applies to | Values | Notes |
|---|---|---|---|
direction_source |
Alerts and Email Trace events | inbound or outbound |
Derived from the API route being fetched. |
| (not set) | Activity Log events | — | Activity logs are user activity, not message transit, so no direction is attached. |
Important:
direction_sourcereflects the collector source (inbound vs outbound feeds). If your tenant emits “internal” email_trace transactions, that native notion of “internal” is not surfaced viadirection_sourceand should be inferred from the raw payload fields (e.g., sender/recipient domains) if required.
“Shared content” across event types
A single email can legitimately produce:
- An Email Trace record (transport/flow metadata), and
- An Alert record (security finding on that message).
These are different event types describing different aspects of the same email. The collector does not deduplicate across event types; it only deduplicates within each type per fetch window. Plan downstream correlation accordingly (e.g., join by message identifiers, subject, envelope addresses, and timestamp buckets, plus direction_source).
Commands
You can execute these commands from the CLI, as part of an automation, or in a playbook. After you successfully execute a command, a DBot message appears in the War Room with the command details.
fireeye-etp-get-events
Gets events from Trellix Email Security - Cloud.
Base Command
fireeye-etp-get-events
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | The number of events to return. Default is 10. | Optional |
| since_time | The start time by which to filter events. Date format will be the same as in the first_fetch parameter. Default is 3 days. | Optional |
| should_push_events | Set this argument to True in order to create events, otherwise the command will only display them. Possible values are: true, false. Default is false. | Required |
Output Notes
- Additional Fields Added by Collector
direction_source(for Alerts and Email Trace only):"inbound"or"outbound".- Not present for Activity Log events.
- Correlation Guidance
- Expect multiple events representing the same email content across directions and/or event types. Correlate using message identifiers (when present), subject, envelope sender/recipient, time window, and
direction_source.
- Expect multiple events representing the same email content across directions and/or event types. Correlate using message identifiers (when present), subject, envelope sender/recipient, time window, and
Configuration parameters
url— Server URL (e.g., https://etp.us.fireeye.com or https://us.etp.trellix.com). (required)oauth_credentials— Client ID (OAuth)oauth_scopes— OAuth Scopes (OAuth)token_url— Token URLcredentials—alerts_max_fetch— Maximum number of Alerts to fetch.email_trace_max_fetch— Maximum number of Email Trace to fetch.activity_log_max_fetch— Maximum number of Activity Log fetch.insecure— Trust any certificate (not secure)proxy— Use system proxy settingsoutbound_traffic— Fetch outbound traffichide_sensitive— Hide sensitive details from email
Commands (1)
-
fireeye-etp-get-eventsGets events from Trellix Email Security - Cloud. This command is used for developing/ debugging and is to be used with caution, as it can create events, leading to events duplication and API request limitation exceeding.
Trellix Email Security - Cloud enables you to fetch events of type Alert, Email Trace, and Activity Log from your system. # Authentication Configuration To ensure a successful connection, you must select the correct authentication method based on the Base URL (Instance URL) you are configuring. ### Cloud service regions Use the URLs for the region that hosts your Email Security — Cloud service: * US Instance: `https://etp.us.fireeye.com/` or `https://us.etp.trellix.com` * EMEA Instance: `https://etp.eu.fireeye.com/` or `https://eu.etp.trellix.com` * APJ Instance: `https://etp.ap.fireeye.com/` or `https://ap.etp.trellix.com` * USGOV Instance: `https://etp.us.fireeyegov.com/` * CA Instance: `https://etp.ca.fireeye.com/` or `https://ca.etp.trellix.com` We support two different authentication methods depending on the endpoint domain: | **Domain Used in Server URL** | **Authentication Method** | **Required Parameters** | | :--- | :--- | :--- | | **Ends in `trellix.com`** | **OAuth 2.0** | **Client ID**, **Client Secret**, and **OAuth Scopes** | | **Ends in `fireeye.com`** | **API Key** | **API Key** (only) | **Trellix GovCloud tenants:** Set the **Token URL** parameter to `https://iam.us.trellix-gov.com`. Leave empty to use the default Trellix IAM endpoint. For official documentation on configuring access, [see here.](https://docs.trellix.com/bundle/etp_api/page/UUID-30726aa3-e420-6f62-6b84-6ad0bdace483.html) # Configuring API keys Follow these steps to configure API keys: 1. Log in to the Email Security — Cloud Web Portal or IAM console. 2. Click **My Settings** in the top navigation bar. 3. Click the **API Keys** tab in the IAM console. 4. Click **Create API Key**. 5. On the Manage API Key page, specify the following: * API key name. * Expiration time for the API key. The expiration time of API keys should be set as “100d” for 100 days, or “1y” for 1 year, for example. * Products. Select both “Email Threat Prevention” and “Identity Access Management”. 6. Select all entitlements as shown below. 7. To download or copy an API key, click the download or copy icon in the bottom right corner. 8. Click **Create API Key**. ### Permissions For any API access, the following entitlements are required: * iam.users.browse * iam.orgs.self.read * etp.alerts.read (For accessing alerts APIs) * etp.email_trace.read (For accessing trace APIs) # Configuring OAuth 2.0 Credentials (Trellix Endpoints) Use this method for **trellix.com** domains. 1. Generate the Client ID and Client Secret following the official Trellix documentation. 2. Copy the list of authorized OAuth Scopes provided during creation. 3. When creating the Client ID and Client Secret, ensure the corresponding user/role has **explicit permission to access the API**. * **Note:** If API access permissions are not properly set for the user/role, the authentication attempt will fail with a **`400 Client Error: Bad Request`**, even if the Client ID and Secret are otherwise correct.