v9.0

Observables are data points found within alerts that represent potential indicators of malicious activity, such as IP addresses, URLs, file hashes, hostnames, and usernames. These pieces of information are essential for understanding what an alert is about, where it originated, and how it might relate to other activity in the environment. The Extract Observables action plays a foundational role in the alert processing workflow by automatically parsing incoming alert payloads and extracting these critical observables, along with any detectable relationships between them. By turning unstructured alert data into actionable intelligence early in the workflow, this action sets the stage for effective enrichment, correlation, triage, and automated response.


How it Works

  1. Alert Processing and Initialization

    • When a new alert is added to the Alerts Table, its Alert ID is received, and the system retrieves its associated payload. This payload is then processed to extract key observables and it’s relations (if it exists) systematically, ensuring all relevant data points are captured for further analysis.
  2. Template-Based Parsing

    • Using predefined Observable Extraction Rules in Case Management Settings, the system identifies specific alert payload fields that contain observables. Each rule maps payload keys (e.g., device.external_ip) to their corresponding observable types (e.g., IP Address), ensuring structured and consistent extraction.
  3. Extraction and Validation

    • Once identified, it then verifies whether each extracted observable is valid and unique, preventing duplicates and filtering out irrelevant data.
      Navigate [here for a more detailed explanation of observable extraction logic.
  4. Creating and Linking Observables

    • Create Observables: If the Create Observables option is enabled, extracted observables are added to the Observables Table, categorized by type (e.g., IP addresses, usernames).
    • Link Existing Observables: If the Link Existing Observables option is enabled, the extracted observables are linked to the alert record, associating them with existing data for further investigation.
    For best results, we strongly recommend enabling both ‘Create Observables’ and ‘Link Existing Observables’ options.

‘Extract Observables’ Action Output

When the ‘Extract Observables’ action is executed, the output is returned in a structured JSON format. This output provides detailed information about the observable extraction process, including the following key fields:

Note: The following images and JSON outputs are provided for illustrative purposes only. The actual results you see may vary depending on how you have configured the Extract Observables action and the associated Extract Observable Rules.

Troubleshooting Observable Extraction Action

When observable extraction action fails or produces unexpected results, it is important to understand how blink processes and maps observables based on the alert payload’s data and configured deduplication rules (templates).

When troubleshooting observable extraction, there are several key fields and scenarios to consider that can help you understand what went wrong:

  • Missing Template: The action may have failed because it couldn’t find a matching extraction template.

  • Invalid Template: A template was found, but it failed to extract any observables, this typically indicates an issue with the template logic.

  • Partial Extraction Only a subset of observables was extracted, even though the template mapping includes more. This could be due to how the data was structured or how the extraction rules were defined.

  • Duplicate Observable Content (edge case): In some cases, an observable’s content may already exist in another observable. If so, the observable linked to the alert will retain the original observable type already associated with that content.

  • Extraction Limit (edge case): If there are more than 100 observables to extract from a single alert, the system will not extract any. This is a built-in size limit.


‘Extract Observables’ Action – Use Case Example