FireEye Helix Archive Search
Create an archive search in FireEye Helix, and fetch the results as events.
FireEye Helix · 7 tasks · 10 inputs · 44 outputs
Details
| ID | FireEye Helix Archive Search |
|---|---|
| From Version | 5.0.0 |
| Tasks | 7 |
README
Creates an archive search in FireEye Helix, and fetch the results as events.
Dependencies
This playbook uses the following sub-playbooks, integrations, and scripts.
Sub-playbooks
- GenericPolling
Integrations
This playbook does not use any integrations.
Scripts
This playbook does not use any scripts.
Commands
- fireeye-helix-archive-search
- fireeye-helix-archive-search-get-results
Playbook Inputs
| Name | Description | Default Value | Required |
|---|---|---|---|
| Query | The query to execute. This is the search clause in an MQL. | - | Required |
| Start | The start time of the event in date format yyyy-mm-dd or yyyy-mm. | - | Optional |
| Offset | The offset of the result. | - | Optional |
| Groupby | The unique values for the specified field. This input groups them together based on the specified frequency. For example, groupby="srcipv4 5 100" will group the top 5 srcipv4 that have at least 100 occurences. Multiple values can be provided using a comma-separated list. |
- | Optional |
| Sort_by | Sorts the results by this field. The default is descending order. To change the default, the following command must be used: argument sort_order="asc". |
- | Optional |
| Sort_order | Controls the order of the results sorted by the sort_by argument. Can be, “ascending” or “descending”. |
- | Optional |
| Limit | The number of events for which to search. | - | Optional |
| Timeout | The amount of time for which to poll before declaring a timeout and resuming the playbook (in minutes). | 10 | Required |
| Interval | The frequency with which the polling command runs (in minutes). | 1 | Required |
| End | The end time of the event, in date format yyyy-mm-dd or yyyy-mm. | - | Optional |
Playbook Outputs
| Path | Description | Type |
|---|---|---|
| FireEyeHelixSearch.Result.ID | The event ID. | string |
| FireEyeHelixSearch.Result.Type | The event type. | string |
| FireEyeHelixSearch.Result.Result | The event result. | string |
| FireEyeHelixSearch.Result.MatchedAt | The time at which the the event was matched. | date |
| FireEyeHelixSearch.Result.Confidence | The confidence of the event. Can be, “low”, “medium” or “high”. | string |
| FireEyeHelixSearch.Result.Status | The status of the event. | string |
| FireEyeHelixSearch.Result.EventTime | The time at which the event took place. | date |
| FireEyeHelixSearch.Result.DetectedRuleID | The ID of the detected rule. | string |
| FireEyeHelixSearch.Result.PID | The process ID. | string |
| FireEyeHelixSearch.Result.Process | The process details. | string |
| FireEyeHelixSearch.Result.ProcessPath | The process path. | string |
| FireEyeHelixSearch.Result.FileName | The name of the file affected by the event. | string |
| FireEyeHelixSearch.Result.FilePath | The path of the file affected by the event. | string |
| FireEyeHelixSearch.Result.DeviceName | The device name. | string |
| FireEyeHelixSearch.Result.Size | The size of the file that created the event in bytes. | string |
| FireEyeHelixSearch.Result.Virus | The virus that was detected in the event. | string |
| FireEyeHelixSearch.Result.MalwareType | The malware type of the virus that was detected. | string |
| FireEyeHelixSearch.Result.CreatedTime | The time at which the event was created. | date |
| FireEyeHelixSearch.Result.Class | The event class. | string |
| FireEyeHelixSearch.Result.MD5 | The MD5 hash of the affected file. | string |
| FireEyeHelixSearch.Result.SHA1 | The SHA1 hash of the affected file. | string |
| FireEyeHelixSearch.Result.Protocol | The protocol used in the event. | string |
| FireEyeHelixSearch.Result.SourceIPv4 | The IPv4 address of the event source. | string |
| FireEyeHelixSearch.Result.SourceIPv6 | The IPv6 address of the event source. | string |
| FireEyeHelixSearch.Result.SourcePort | The port of the event source address. | string |
| FireEyeHelixSearch.Result.SourceLongitude | The longitude of the event source address. | string |
| FireEyeHelixSearch.Result.SourceLatitude | The latitude of the event source address. | string |
| FireEyeHelixSearch.Result.DestinationIPv4 | The IPv4 address of the event destination. | string |
| FireEyeHelixSearch.Result.DestinationIPv6 | The IPv6 address of the event destination. | string |
| FireEyeHelixSearch.Result.DestinationPort | The port of the event destination address. | string |
| FireEyeHelixSearch.Result.ReportTime | The time at which the event was reported. | date |
| FireEyeHelixSearch.Result.FalsePositive | Whether event is a false positive. | string |
| FireEyeHelixSearch.Result.Domain | The domain of the recepient. | string |
| FireEyeHelixSearch.Result.From | The source email address. | string |
| FireEyeHelixSearch.Result.SourceDomain | The domain of the host that created the event. | string |
| FireEyeHelixSearch.Result.SourceISP | The ISP of the source of the event. | string |
| FireEyeHelixSearch.Result.DestinationISP | The ISP of the destination of the event. | string |
| FireEyeHelixSearch.Result.To | The destination email address. | string |
| FireEyeHelixSearch.Result.Attachment | The email attachment. | unknown |
| FireEyeHelixSearch.MQL | The MQL query that created the result. | string |
| FireEyeHelixSearch.GroupBy | The group by values. | unknown |
| FireEyeHelixSearch.GroupBy.DocCount | The number of matches for the group. | number |
| FireEyeHelixSearch.Result.RcpTo | The “Recipient of” email address. | string |
| FireEyeHelixSearch.Result.InReplyTo | The “Reply to” email address. | string |
Playbook Image

Inputs
Query— Query to execute. This is the search clause in an MQL.Start— Start time of the event in date format yyyy-mm-dd or yyyy-mm.Offset— Offset of the result.Groupby— Returns the unique values for the specified field and groups them together based on the specified frequency. For example, groupby="srcipv4 5 100" will group the top 5 srcipv4 that have at least 100 occurences. Multiple values can be provided using a comma separated list.Sort_by— Sorts results by this field. Default is descending order; to change this add the following to the command: argument sort_order="asc"Sort_order— Controls the order of the results sorted by the sort_by argument, ascending or descending.Limit— Number of events for which to search.Timeout— Amount of time for which to poll before declaring a timeout and resuming the playbook (in minutes).Interval— Frequency with which the polling command runs (minutes).End— End time of the event, in date format yyyy-mm-dd or yyyy-mm.
Outputs
FireEyeHelixSearch.Result.ID— Event ID.FireEyeHelixSearch.Result.Type— Event type.FireEyeHelixSearch.Result.Result— Event result.FireEyeHelixSearch.Result.MatchedAt— Time at which the the event was matched.FireEyeHelixSearch.Result.Confidence— Confidence of the event. Can be either low, medium or high.FireEyeHelixSearch.Result.Status— Status of the event.FireEyeHelixSearch.Result.EventTime— Time at which the event took place.FireEyeHelixSearch.Result.DetectedRuleID— ID of the detected rule.FireEyeHelixSearch.Result.PID— Process ID.FireEyeHelixSearch.Result.Process— Process details.FireEyeHelixSearch.Result.ProcessPath— Process path.FireEyeHelixSearch.Result.FileName— Name of the file affected by the event.FireEyeHelixSearch.Result.FilePath— Path of the file affected by the event.FireEyeHelixSearch.Result.DeviceName— Device name.FireEyeHelixSearch.Result.Size— Size of the file that created the event in bytes.FireEyeHelixSearch.Result.Virus— Virus that was detected in the event.FireEyeHelixSearch.Result.MalwareType— Malware type of the virus that was detected.FireEyeHelixSearch.Result.CreatedTime— Time at which the event was created.FireEyeHelixSearch.Result.Class— Event class.FireEyeHelixSearch.Result.MD5— MD5 hash of the affected file.FireEyeHelixSearch.Result.SHA1— SHA1 hash of the affected file.FireEyeHelixSearch.Result.Protocol— Protocol used in the event.FireEyeHelixSearch.Result.SourceIPv4— IPv4 address of the event source.FireEyeHelixSearch.Result.SourceIPv6— IPv6 address of the event source.FireEyeHelixSearch.Result.SourcePort— Port of the event source address.FireEyeHelixSearch.Result.SourceLongitude— Longitude of the event source address.FireEyeHelixSearch.Result.SourceLatitude— Latitude of the event source address.FireEyeHelixSearch.Result.DestinationIPv4— IPv4 address of the event destination.FireEyeHelixSearch.Result.DestinationIPv6— IPv6 address of the event destination.FireEyeHelixSearch.Result.DestinationPort— Port of the event destination address.FireEyeHelixSearch.Result.ReportTime— Time at which the event was reported.FireEyeHelixSearch.Result.FalsePositive— Boolean flag - is the event a false positive.FireEyeHelixSearch.Result.Domain— Domain of the recepient.FireEyeHelixSearch.Result.From— Source email address.FireEyeHelixSearch.Result.SourceDomain— Domain of the host that created the event.FireEyeHelixSearch.Result.SourceISP— ISP of the source of the event.FireEyeHelixSearch.Result.DestinationISP— ISP of the destination of the event.FireEyeHelixSearch.Result.To— Destination email address.FireEyeHelixSearch.Result.Attachment— Email attachment.FireEyeHelixSearch.MQL— MQL query that created the result.FireEyeHelixSearch.GroupBy— Group by values.FireEyeHelixSearch.GroupBy.DocCount— Number of matches for the group.FireEyeHelixSearch.Result.RcpTo— \'Recipient of\' email address.FireEyeHelixSearch.Result.InReplyTo— \'Reply to\' email address.
Commands used
fireeye-helix-archive-search
fireeye-helix-archive-search-get-results
Flowchart
id: FireEye Helix Archive Search version: -1 name: FireEye Helix Archive Search fromversion: 5.0.0 description: Create an archive search in FireEye Helix, and fetch the results as events. starttaskid: "0" tasks: "0": id: "0" taskid: 143400cc-bc76-4d6e-8a38-f46da34b74d5 type: start task: id: 143400cc-bc76-4d6e-8a38-f46da34b74d5 version: -1 name: "" description: Start. iscommand: false brand: "" nexttasks: '#none#': - "1" separatecontext: false view: |- { "position": { "x": 377.5, "y": 50 } } note: false timertriggers: [] ignoreworker: false "1": id: "1" taskid: edc7890e-7604-42cc-89c8-15e0b513c9ad type: regular task: id: edc7890e-7604-42cc-89c8-15e0b513c9ad version: -1 name: Archive Search description: Initiates a new archive search. script: '|||fireeye-helix-archive-search' type: regular iscommand: true brand: "" nexttasks: '#none#': - "6" scriptarguments: end: complex: root: inputs.End groupby: complex: root: inputs.Groupby limit: complex: root: inputs.Limit offset: complex: root: inputs.Offset query: complex: root: inputs.Query sort_by: complex: root: inputs.Sort_by sort_order: complex: root: inputs.Sort_order start: complex: root: inputs.Start separatecontext: false view: |- { "position": { "x": 377.5, "y": 195 } } note: false timertriggers: [] ignoreworker: false "2": id: "2" taskid: 473a8564-2302-4afc-80cd-405e56e53991 type: condition task: id: 473a8564-2302-4afc-80cd-405e56e53991 version: -1 name: Check search status description: Verify if there are searches that haven't yet completed. type: condition iscommand: false brand: "" nexttasks: '#default#': - "4" "yes": - "5" separatecontext: false conditions: - label: "yes" condition: - - operator: lessThan left: value: complex: root: FireEyeHelixSearch filters: - - operator: isNotEqualString left: value: simple: FireEyeHelixSearch.State iscontext: true right: value: simple: cancelled accessor: PercentComplete transformers: - operator: floor iscontext: true right: value: complex: root: "100" iscontext: true view: |- { "position": { "x": 162.5, "y": 545 } } note: false timertriggers: [] ignoreworker: false "4": id: "4" taskid: 45a4c9df-a4f0-4dfd-8876-adcd2ac79463 type: regular task: id: 45a4c9df-a4f0-4dfd-8876-adcd2ac79463 version: -1 name: Get search results description: Fetches search results only for searches that were completed. script: '|||fireeye-helix-archive-search-get-results' type: regular iscommand: true brand: "" scriptarguments: search_id: complex: root: FireEyeHelixSearch filters: - - operator: isNotEqualNumber left: value: simple: FireEyeHelixSearch.PercentComplete iscontext: true right: value: simple: "100" accessor: ID separatecontext: false view: |- { "position": { "x": 162.5, "y": 895 } } note: false timertriggers: [] ignoreworker: false "5": id: "5" taskid: ddf16391-704b-41e4-886e-a188df0096f8 type: playbook task: id: ddf16391-704b-41e4-886e-a188df0096f8 version: -1 name: GenericPolling description: |- Use this playbook as a sub-playbook to block execution of the master playbook until a remote action is complete. This playbook implements polling by continuously running the command in Step \#2 until the operation completes. The remote action should have the following structure: 1. Initiate the operation. 2. Poll to check if the operation completed. 3. (optional) Get the results of the operation. playbookName: GenericPolling type: playbook iscommand: false brand: "" nexttasks: '#none#': - "4" scriptarguments: AdditionalPollingCommandArgNames: {} AdditionalPollingCommandArgValues: {} Ids: complex: root: FireEyeHelixSearch accessor: ID Interval: complex: root: inputs.Interval PollingCommandArgName: simple: search_id PollingCommandName: simple: fireeye-helix-archive-search-get-status Timeout: complex: root: inputs.Timeout dt: simple: FireEyeHelixSearch(val.PercentComplete < 100).ID separatecontext: true loop: iscommand: false exitCondition: "" wait: 1 view: |- { "position": { "x": 50, "y": 720 } } note: false timertriggers: [] ignoreworker: false "6": id: "6" taskid: 97da4134-2fbf-426e-86a8-d1dc791e56a9 type: condition task: id: 97da4134-2fbf-426e-86a8-d1dc791e56a9 version: -1 name: Completed searches? description: Checks whether there are searches that weren't cancelled. type: condition iscommand: false brand: "" nexttasks: '#default#': - "7" "yes": - "2" separatecontext: false conditions: - label: "yes" condition: - - operator: isNotEqualString left: value: complex: root: FireEyeHelixSearch accessor: State iscontext: true right: value: simple: cancelled view: |- { "position": { "x": 377.5, "y": 370 } } note: false timertriggers: [] ignoreworker: false "7": id: "7" taskid: f5a31249-1556-4fc6-82cd-4c8c6ebc7bb9 type: title task: id: f5a31249-1556-4fc6-82cd-4c8c6ebc7bb9 version: -1 name: Search could not run description: FireEye Helix couldn't run the search type: title iscommand: false brand: "" separatecontext: false view: |- { "position": { "x": 592.5, "y": 560 } } note: false timertriggers: [] ignoreworker: false view: |- { "linkLabelsPosition": {}, "paper": { "dimensions": { "height": 940, "width": 922.5, "x": 50, "y": 50 } } } inputs: - key: Query value: {} required: true description: Query to execute. This is the search clause in an MQL. - key: Start value: {} required: false description: Start time of the event in date format yyyy-mm-dd or yyyy-mm. - key: Offset value: {} required: false description: Offset of the result. - key: Groupby value: {} required: false description: Returns the unique values for the specified field and groups them together based on the specified frequency. For example, groupby="srcipv4 5 100" will group the top 5 srcipv4 that have at least 100 occurences. Multiple values can be provided using a comma separated list. - key: Sort_by value: {} required: false description: 'Sorts results by this field. Default is descending order; to change this add the following to the command: argument sort_order="asc"' - key: Sort_order value: {} required: false description: Controls the order of the results sorted by the sort_by argument, ascending or descending. - key: Limit value: {} required: false description: Number of events for which to search. - key: Timeout value: simple: "10" required: true description: Amount of time for which to poll before declaring a timeout and resuming the playbook (in minutes). - key: Interval value: simple: "1" required: true description: Frequency with which the polling command runs (minutes). - key: End value: {} required: false description: End time of the event, in date format yyyy-mm-dd or yyyy-mm. outputs: - contextPath: FireEyeHelixSearch.Result.ID description: Event ID. type: string - contextPath: FireEyeHelixSearch.Result.Type description: Event type. type: string - contextPath: FireEyeHelixSearch.Result.Result description: Event result. type: string - contextPath: FireEyeHelixSearch.Result.MatchedAt description: Time at which the the event was matched. type: date - contextPath: FireEyeHelixSearch.Result.Confidence description: Confidence of the event. Can be either low, medium or high. type: string - contextPath: FireEyeHelixSearch.Result.Status description: Status of the event. type: string - contextPath: FireEyeHelixSearch.Result.EventTime description: Time at which the event took place. type: date - contextPath: FireEyeHelixSearch.Result.DetectedRuleID description: ID of the detected rule. type: string - contextPath: FireEyeHelixSearch.Result.PID description: Process ID. type: string - contextPath: FireEyeHelixSearch.Result.Process description: Process details. type: string - contextPath: FireEyeHelixSearch.Result.ProcessPath description: Process path. type: string - contextPath: FireEyeHelixSearch.Result.FileName description: Name of the file affected by the event. type: string - contextPath: FireEyeHelixSearch.Result.FilePath description: Path of the file affected by the event. type: string - contextPath: FireEyeHelixSearch.Result.DeviceName description: Device name. type: string - contextPath: FireEyeHelixSearch.Result.Size description: Size of the file that created the event in bytes. type: string - contextPath: FireEyeHelixSearch.Result.Virus description: Virus that was detected in the event. type: string - contextPath: FireEyeHelixSearch.Result.MalwareType description: Malware type of the virus that was detected. type: string - contextPath: FireEyeHelixSearch.Result.CreatedTime description: Time at which the event was created. type: date - contextPath: FireEyeHelixSearch.Result.Class description: Event class. type: string - contextPath: FireEyeHelixSearch.Result.MD5 description: MD5 hash of the affected file. type: string - contextPath: FireEyeHelixSearch.Result.SHA1 description: SHA1 hash of the affected file. type: string - contextPath: FireEyeHelixSearch.Result.Protocol description: Protocol used in the event. type: string - contextPath: FireEyeHelixSearch.Result.SourceIPv4 description: IPv4 address of the event source. type: string - contextPath: FireEyeHelixSearch.Result.SourceIPv6 description: IPv6 address of the event source. type: string - contextPath: FireEyeHelixSearch.Result.SourcePort description: Port of the event source address. type: string - contextPath: FireEyeHelixSearch.Result.SourceLongitude description: Longitude of the event source address. type: string - contextPath: FireEyeHelixSearch.Result.SourceLatitude description: Latitude of the event source address. type: string - contextPath: FireEyeHelixSearch.Result.DestinationIPv4 description: IPv4 address of the event destination. type: string - contextPath: FireEyeHelixSearch.Result.DestinationIPv6 description: IPv6 address of the event destination. type: string - contextPath: FireEyeHelixSearch.Result.DestinationPort description: Port of the event destination address. type: string - contextPath: FireEyeHelixSearch.Result.ReportTime description: Time at which the event was reported. type: date - contextPath: FireEyeHelixSearch.Result.FalsePositive description: Boolean flag - is the event a false positive. type: string - contextPath: FireEyeHelixSearch.Result.Domain description: Domain of the recepient. type: string - contextPath: FireEyeHelixSearch.Result.From description: Source email address. type: string - contextPath: FireEyeHelixSearch.Result.SourceDomain description: Domain of the host that created the event. type: string - contextPath: FireEyeHelixSearch.Result.SourceISP description: ISP of the source of the event. type: string - contextPath: FireEyeHelixSearch.Result.DestinationISP description: ISP of the destination of the event. type: string - contextPath: FireEyeHelixSearch.Result.To description: Destination email address. type: string - contextPath: FireEyeHelixSearch.Result.Attachment description: Email attachment. type: unknown - contextPath: FireEyeHelixSearch.MQL description: MQL query that created the result. type: string - contextPath: FireEyeHelixSearch.GroupBy description: Group by values. type: unknown - contextPath: FireEyeHelixSearch.GroupBy.DocCount description: Number of matches for the group. type: number - contextPath: FireEyeHelixSearch.Result.RcpTo description: \'Recipient of\' email address. type: string - contextPath: FireEyeHelixSearch.Result.InReplyTo description: \'Reply to\' email address. type: string tests: - No test - No instance