PCSAE Guide
PCSAE Guide
NETWORKS
PCSAE
STUDY GUIDE
January 2021
Palo Alto Networks, Inc.
www.paloaltonetworks.com
© 2021 Palo Alto Networks – all rights reserved.
Aperture, AutoFocus, GlobalProtect, Palo Alto Networks, PAN-OS, Panorama, Traps, and WildFire are trademarks of Palo Alto Networks, Inc. All other
trademarks are the property of their respective owners.
Overview
The PCSAE program is a formal, third-party proctored certification. Success on the PCSAE exam shows
that you possess the in-depth skills and knowledge to develop playbooks, manage incidents, create
automations and integrations, and demonstrate the highest standard of deployment methodology and
operational best practices associated with Palo Alto Networks Cortex XSOAR. The exam is not intended
to trick you with its questions or to test obscure detail. However, a nuanced understanding, and the ability
gained through significant experience to make subtle technical distinctions, will help you make better
answer choices.
More information is available from the Palo Alto Networks public page at:
https://www.paloaltonetworks.com/cortex/xsoar
https://docs.paloaltonetworks.com/cortex/cortex-xsoar.html
Exam Format
The test format is 85 multiple-choice items. Candidates will have 5 minutes to complete the Non-
Disclosure Agreement (NDA), 80 minutes (1 hour, 20 minutes) to complete the questions, and 5 minutes
to complete a survey at the end of the exam.
The approximate distribution of items by topic (Exam Domain) and topic weightings is shown in the
following table.
The context keys are strings, and the values can be strings, numbers, objects, and arrays. The context’s
primary use is to pass data between playbook tasks; one task stores its output in the context, and the other
task reads that output from the context and uses it.
The output result is stored into the JSON context in the incident or the playground, whether you run an
integration command from the CLI or a playbook task. For example, a command such as !whois
query="paloaltonetworks.com" would return the data and store the results into the context. The
following screen shows an example of JSON context data:
Another use is to capture the important structured data from automations and display that data in the
incident summary.
References:
• https://xsoar.pan.dev/docs/integrations/context-and-outputs
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/playbooks/extend-
context.html
Inputs can be passed into sub-playbooks from the parent playbook, used and processed in the sub-
playbook, and sent as output to the parent playbook.
You can use private context when you do not want the content to be affected by outside changes, only
from the inputs that this sub-playbook receives.
Global context is for when the context in the parent playbook should be considered and accessed. Note
that a change made to sub-playbook will impact the parent playbook at the next run of the parent
playbook.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/configure-a-sub-playbook-loop.html
The following graphics show a playbook that is triggered based on context data, meaning an incident. The
first two inputs are the SrcIP, which comes from the incident.src key, and DstIP, which is retrieved from
incident.dest.
The playbook itself creates output objects whose entries will serve the tasks throughout the playbook.
Outputs can be data that was extracted or derived from the inputs. For example, the following images
show the user’s credentials being retrieved from Active Directory. Those credentials will be used to get
the user’s account name, email address, and any groups to which they belong:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/playbooks-overview.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/playbook-inputs-and-outputs.html
“Parent” playbooks are playbooks that run as the main playbook of an incident. The other type is “sub-
playbooks” which are just playbooks that are being called by another playbook.
Sub-playbooks are playbooks that can be nested into other playbooks that are referred to as parent
playbooks. They appear as tasks in the flow and have a book icon, but they can contain a whole playbook.
Examples of parent playbooks can be “Phishing Investigation - Generic v2” or “Endpoint Malware
Investigation – Generic” because an incident starts with them. Examples of sub-playbooks are IP
“Enrichment - Generic v2” or “Retrieve File From Endpoint – Generic” because they are steps taken as
part of the bigger investigation.
Because sub-playbooks are used as part of a bigger investigation, they should have inputs and outputs.
Ensure that the data you want to get from a sub-playbook is defined in its outputs so that it can be used
outside of that playbook. Because sub-playbooks are building blocks that preferably will be usable in
other playbooks and use cases, you should define generic inputs for them.
• https://xsoar.pan.dev/docs/playbooks/playbook-contributions
1.2.3 Configure playbooks using the web interface (e.g., box of text that you fill in):
Cortex XSOAR has an advanced web-based interface that allows you to create playbooks easily. To
create a playbook, navigate to the Playbooks tab in Cortex XSOAR and click New Playbook:
Ensure that all third-party products and services you need for the playbook are configured and enabled for
your playbook to work properly. Configurations for the third-party products and services can be set under
Settings > Integrations > Servers & Services.
Playbooks run commands that are found in both an integration and in scripts. Playbooks comprise tasks,
each of which performs a specific action. Tasks either are manual or automatic. Manual tasks are actions
that are not associated with scripts. Automated tasks are associated with scripts written in Python,
JavaScript, or PowerShell. A key feature of playbooks is the ability to structure and automate security
responses previously handled manually. You can reuse playbook tasks as building blocks for new
playbooks, thus saving you time and streamlining knowledge retention.
A task is a step or a building block of a playbook that specifies an action within the playbook sequence. A
task can be extracting an IP address from a suspected phishing email, checking reputation, sending an
email, calling a manager, etc. A new task can be added to an existing playbook, or a series of tasks can be
connected to create a new playbook.
To add a new task from the Task Library, you can locate or search the task. Tasks are arranged in three
tabs:
• Automation, where tasks are arranged by the integrations they serve. You can scroll through the
integrations list and expand it to see the tasks by clicking the +. You can search for a task by
name, tag, or keyword in the search box above the list of integrations.
• Manual Tasks, where tasks are listed that are done manually by a user and are not automated.
You can group these tasks by playbook, the playbook they are used in, or by name for an
alphabetical list.
• Playbooks, where existing playbooks can be found and dragged into the new playbook, will be
used as a Sub-playbook. You should create small playbooks for the procedures used frequently
so that they can be called easily. Cortex XSOAR provides many predefined playbooks you can
use or copy and customize to your needs.
To create a new task, either you can click + Create Task or drag off a line from the default section
header Playbook Triggered:
References:
• https://xsoar.pan.dev/docs/playbooks/playbooks
The use of color coding and symbols in the Work Plan helps you to understand the status of a task. The
color coding enables you to easily troubleshoot errors or respond to manual steps in the Work Plan. The
following table shows the color codes and their meanings:
While you create playbooks, you should have an environment to test automation scripts, APIs, and
commands. You can use the playground as the non-production environment to safely test and develop.
You also can use the playground to test integration commands, automations, and other tools from the
Cortex XSOAR CLI.
To erase a playground and create a new one, in the Cortex XSOAR CLI run the /playground_create
References:
• https://xsoar.pan.dev/docs/integrations/test-playbooks
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/work-plan
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/cortex-xsoar-
overview/cortex-xsoar-concepts.html
• For Each Input: The loop will exit automatically when the array it is looping over executes the
last item in the array. Note that the following:
• If the input is a single item, the sub-playbook will run one time. However, if the input is a list
of items, the sub-playbook will run as many times as items in the list. Each iteration of the
sub-playbook will use the next item in the list as the input.
• If there are multiple input lists with the same number of items, then the sub-playbook will run
once for each input set. For example, if you have “input1” and “input2”, “input1[i]” will run
with “input2[i]”.
• If there are multiple input lists with different amounts of items, the sub-playbook will run
once for each item in the input with more items. When the input with fewer items reaches its
last item, the subsequent runs will continue to use the last item in the shorter list until all
items in the largest list have run.
• Built-in or Choose Loop automation: The loop will exit based on a condition. The playbook
will not loop through the inputs, but it will take the inputs as a whole.
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/configure-a-sub-playbook-loop.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/configure-a-sub-playbook-loop/sub-playbook-tutorial.html
Standard tasks are used for classic manual or script-based tasks, such as closing an investigation,
escalating to another analyst, or using a script to enrich data.
Conditional tasks can be selected for decision trees or communicating with users through an Ask task.
Conditional tasks are used for determining different paths for your playbook. You can use conditional
tasks for something simple such as proceeding if a particular integration exists or determining whether a
user account has an email address.
Data Collection tasks can be selected for surveying users. Data collection tasks are multi-question
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/playbook-tasks.html
1.4.2 Gather, analyze, and evaluate data to make decisions about specific playbook task types:
Ask Task: Communication tasks enable you to send surveys to users, both internal and external, to
collect data for an incident. The collected data can be used for incident analysis and also as input for
subsequent playbook tasks.
For example, you might want to send a single (standalone) question survey to determine how an issue was
handled:
Because this task is conditional, remember to create a condition for each answer. For example, if the
survey answers include Yes, No, and Maybe, there should be a corresponding condition (path) in the
playbook for each of these answers.
Your multi-question survey on the web form will look like the following:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/playbook-tasks/communication-tasks.html
Filters enable you to extract relevant data that you can use elsewhere in Cortex XSOAR. For example, if
an incident has several files with varying file types and extensions, you can filter the files by file
extension or file type and use the filtered files in a detonation playbook.
Transformers enable you to take one value and transform or render it to another value, for example,
converting a date in non-Unix format to Unix format. Another example is applying the count transformer,
which renders the number of elements.
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/playbooks/filters-
and-transformers.html
You can filter as many nested objects as required. Cortex XSOAR automatically calculates the context
root to which to filter. For example, if you want to work with file extensions, Cortex XSOAR calculates
context root as File.Extension:
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/playbooks/filters-
and-transformers/create-filters-and-transformers.html
• Boolean: Determines whether a Cortex XSOAR field is true or false, or whether the string
representation is true or false
• Date: Determines whether the left-side time value is earlier than, later than, or the same time as
the right-side time value. Different time and date formats are supported. For a detailed table,
please visit the following “References” section .
• General: Includes general filters such as contains, doesn’t contain, In, and empty
• String: Determines the relationship between the left-side string value and the right-side string
value such as starts with, includes, and in list. The string filter returns partial matches as True.
• Number: Determines the relationship between the left-side number value and the right-side
number value such as equals, greater than, and less than.
• Unknown: Miscellaneous filter category
Transformers enable you to take one value and transform or render it to another value. When you have
more than one transformer, you can reorder them using click-and-drag.
• Date: Transforms the date. For example, Date to string and Date to unix
• General: Includes general transformers such as join, sort, splice, and stringify
• String: Transforms strings. To make regex case non-sensitive, use the (?i) prefix (for example,
(?i)yourRegexText).
• Number: Transforms a number, for example, Round, Absolute, and To percent
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/playbooks/filters-
and-transformers/filter-operators.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/playbooks/filters-
and-transformers/transformers-operators.html
After the configuration of layout for the incident type, you must map the different incident types that your
organization handles and the third-party integrations you have. For example, Cortex XSOAR comes with
ready-to-use incident types for phishing attacks. If you work with a different phishing integration product,
you can define an incident type specifically for those events. When you configure your phishing product
integration, you will associate it with your phishing product’s new incident type, which probably also will
have a dedicated phishing playbook.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management.html
• https://xsoar.pan.dev/docs/incidents/incident-types
2.1.2 Summarize the relationship between external data and the Cortex XSOAR incident type:
You can define integrations with your third-party security and incident management vendors. You then
can trigger events from these integrations to get their external data to become incidents in Cortex
XSOAR. The external data can include potential phishing emails, authentication attempts, and SIEM
events.
You can either poll or fetch third-party integration instances for the events to turn them into Cortex
XSOAR incidents that trigger automations.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/fetch-incidents-from-an-integration-instance.html
• https://xsoar.pan.dev/docs/incidents/incident-types
If you cannot properly classify and map a step, wrong automations and playbooks can trigger, and outputs
and whole investigation process will suffer.
References:
• https://xsoar.pan.dev/docs/incidents/incident-types
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/classification-and-mapping.html
Machine learning models are used mainly for phishing incidents. You can train the Cortex XSOAR
machine learning engine to automatically recognize phishing emails, emails that are legitimate, and those
that contain spam, among other examples.
As you create a machine learning model, you must select the correct fields in the field mapping phase to
map the verdicts for malicious, legitimate, and spam emails.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/machine-learing-
models/machine-learning-models-overview.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/machine-learing-
models/create-a-machine-learning-model/machine-learning-model-example.html
For example, you can define a feed-triggered job to trigger a playbook when a specified Threat
Intelligence Management (TIM) feed finishes a fetch operation for new indicators. Or you can schedule a
time-triggered job that runs nightly and removes expired indicators.
Reference:
• https://xsoar.pan.dev/docs/incidents/incident-jobs
You can customize almost every aspect of the layout, including the following:
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/customize-incident-view-layouts/customize-incident-layouts.html
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/manage-
indicators/understand-indicators/customize-indicator-view-layouts/customize-an-indicator-type-
layout.html
When you start to create or edit an incident layout by using Incident Layout Builder, you can use the
Library feature to add ready-to-use Sections, Fields and Buttons, and Tabs.
Reference:
• Incident Summary
• “New”/“Edit” Form
• “Close” Form
• Incident Quick View
• Mobile
There are Cortex XSOAR system layout sections and fields that you cannot remove, but you can re-
arrange them in the layout and modify their queries and filters:
For indicator layouts, each indicator type has a unique set of data relevant to that specific indicator type.
You must display the most relevant data for users.
• Indicator Summary
• Quick View
You can customize how the information is displayed for existing indicators by modifying the sections and
fields for each view. You can access the Indicator quick view when you click an indicator on an incident
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/customize-incident-view-layouts.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/manage-
indicators/understand-indicators/customize-indicator-view-layouts.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-investigation.html
Cortex XSOAR includes an Indicator repository, which collects and correlates indicators across all
incidents, alerts, and feeds flowing into Cortex XSOAR.
The indicators are categorized by type, which determines the indicator layout fields displayed, and which
scripts are run on indicators of that type. The several system-level (out-of-the-box) indicator types
include:
You can easily create custom indicator types by using the Settings > Advanced > Indicator Types >
New Indicator Type button:
If you need to customize the default indicators, select the indicator to activate the Edit link on top of the
table. Click Edit and use the Custom Fields tab to customize it.
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/manage-
indicators/understand-indicators.html
Enhancement scripts are the scripts to run on an identified indicator, for example, a script that runs a
search in a SIEM for the indicator. After indicators are identified, you can go to the Indicator Quick
View, click the Actions button, and run an enhancement script directly on an indicator. These scripts need
the enhancement tag before they can be available in the drop-down menu.
Reputation scripts are the user-created scripts that either override the Cortex XSOAR command algorithm
or run on top of the data returned from the command. This script’s output is a reputation score, which is
used as the basis for the indicator reputation.
You use custom fields to map the required fields to the indicators. There is an option to load an Indicator
Sample to create the custom fields from the sample:
• https://xsoar.pan.dev/docs/concepts/concepts#indicators-and-indicator-types
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/manage-
indicators/understand-indicators/indicator-fields/map-indicator-custom-fields
You can select one or more indicators from the Indicators table and click the Delete and Exclude button.
The indicators are deleted from the Indicators table and added to the exclusion list. You can associate
these indicators with one or more indicator types:
You can manually add a single indicator or define indicators using a regex) or CIDR from the Exclusion
List page:
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/manage-
indicators/understand-indicators/exclusion-list.html
Incident fields can be populated by the incident team members during an investigation, at the beginning
of the investigation, or before closing the investigation.
You use Indicator Fields to add specific indicator information to incidents. When you create an indicator
field, you can associate it with one particular incident type or all incident types.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-fields.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/manage-
indicators/understand-indicators/indicator-fields.html
• Attachments: Enables addition of an attachment such as .doc, malicious files, reports, and images
of an incident
• Boolean (check box)
• Date picker
• Grid (table): Includes an interactive, editable grid as a field type for selected incident types or all
incident types
• HTML: You can configure the HTML field.
• Long text
• Markdown
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-fields
• https://xsoar.pan.dev/docs/incidents/incident-fields#field-types
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-fields/create-a-custom-incident-field.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/manage-
indicators/understand-indicators/indicator-fields/create-a-custom-indicator-field.html
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-fields.html
Automation scripts perform specific actions and comprise commands associated with an integration
object. Scripts are used as part of tasks used in playbooks and commands in the War Room.
Scripts can access all Cortex XSOAR APIs, including access to incidents and investigations, and sharing
data to the War Room. Scripts can receive and access arguments, and you can password-protect scripts.
References:
• https://xsoar.pan.dev/docs/concepts/concepts#automations-scripts
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-de-duplication.html
Outputs can be data that was extracted or derived from the inputs. For example, in the following images
we are retrieving the user’s credentials from Active Directory. We will use those credentials to get the
user’s account name, email address, and any groups they belong to.
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/playbook-inputs-and-outputs.html
• https://xsoar.pan.dev/docs/integrations/xsoar-ide#the-script-helper
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/users-and-
roles/integration-permissions
References:
Integration commands are located in the integrations, and if you enable the required integration by
creating a new instance, you can start to use those commands. Otherwise, they are not ready to use. The
following image shows an example to call automation scripts and commands which is located inside an
integration:
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/common-scripts-to-use-in-automations
• https://xsoar.pan.dev/docs/concepts/concepts#commands
To create your own integration, navigate to Settings > Integrations > +BYOI:
To erase a playground and create a new one, in the Cortex XSOAR CLI run the /playground_create
command.
References:
• https://xsoar.pan.dev/docs/concepts/concepts#playground
• https://xsoar.pan.dev/docs/tutorials/tut-integration-ui
• https://xsoar.pan.dev/docs/integrations/unit-testing
The automation scripts that can be used with an integration can be found in several ways. You choose the
one best for you and the specific scenario you are in:
To see all possible commands for an enabled integration, open the integration in Settings > Integrations
> Servers & Services and click the Show Commands link.
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-tasks.html
References:
• https://xsoar.pan.dev/docs/integrations/parameter-types
• https://xsoar.pan.dev/docs/tutorials/tut-integration-ui#parameters
• https://xsoar.pan.dev/docs/tutorials/tut-integration-ui#command-settings
If you want to view or edit integration permissions, go to Settings > Users and Roles > Integration
Permissions. You can see a list of all the enabled integrations in Cortex XSOAR. Under each integration,
you can see the following:
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/users-and-
roles/integration-permissions
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/users-and-
roles/roles.html
An integration can be unidirectional or bidirectional, with the latter allowing both products to execute
cross-console actions. Integrations enable connections with third-party tools and services for the Cortex
XSOAR platform to help orchestrate and automate SOC functions. In addition to third-party tools, you
can create your own integration using the BYOI feature.
The following list of integration categories available in Cortex XSOAR is not exhaustive and highlights
the main categories:
Reference:
• https://xsoar.pan.dev/docs/concepts/concepts#integrations
• https://xsoar.pan.dev/docs/tutorials/tut-integration-ui#navigating-to-byoi
• https://xsoar.pan.dev/docs/integrations/code-conventions
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/content-pack-contributions.html
You can check logs and War Room entries. You can use the Demistomock library.
There is another option to debug your integration. The Cortex XSOAR plugin for the PyCharm IDE
enables you to design and author scripts and integrations for Cortex XSOAR directly from PyCharm. The
plugin adds a sidebar with Automation and Integration Settings, just like the Settings sidebar in the
Cortex XSOAR script editor. When you write code, the plugin provides you with autocomplete of Cortex
XSOAR and Python functions and allows you to debug your code easily.
References:
Cortex XSOAR can generate alerts from Cortex XDR that you then can classify according to their
information as either dedicated XDR incident types or maybe authentication or malware incident types.
You might have Exchange Web Services (EWS) configured to ingest both phishing and malware alerts
that you want to classify to their respective incident types based on the information in the event. You have
more control of the incident type by classifying the events differently, and you can run multiple
playbooks for the events coming from one source.
After you classify the incident, you then can map the fields from the third-party integration to the fields
that you defined in the incident layout. Any fields that you do not map are automatically mapped to
Cortex XSOAR labels.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/classification-and-mapping.html
Mappers enable you to map the information from incoming events to the incident or indicator layouts you
have in your system.
Mapping of event attributes or indicator fields now takes place in two stages. First you map all of the
common fields to all incident or indicator types in the default mapping. Then you can map the additional
fields specific for each incident or indicator type or overwrite the mapping you used in the default
mapping. The following image shows the classifier and mapper as different types:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/classification-and-mapping/create-a-mapper.html
• https://xsoar.pan.dev/docs/incidents/incident-classification-mapping#map-event-attributes-to-
fields
4.1.1 Describe the relationship between servers, live backup, Devprod, and other available
components:
The Cortex XSOAR server system provides a centralized server function for all system operations. The
server includes the Cortex XSOAR centralized database to store incident data.
SOAR engineers may connect the Cortex XSOAR server to any number of incident sources, tools, or
infrastructure devices located at the main site or otherwise, within the intranet using Cortex XSOAR
integrations.
The Cortex XSOAR database solution itself uses files stored in the standard file system of the Linux-
based server.
The Cortex XSOAR platform integrates with SIEM systems, IT ticketing systems, vulnerability-
management systems, and other products, on-premises or in the cloud, such as Cortex XDR , Prisma
Cloud and Prisma SaaS by Palo Alto Networks. Cortex XSOAR can ingest data from integrated systems
to auto-generate incidents, or cases.
For activities such as data enrichment, the Cortex XSOAR server also may connect via integrations to any
number of internet-based threat-intelligence services or other cloud-based tools, including sandboxes such
as Palo Alto Networks WildFire® malware prevention service.
You can create and install Cortex XSOAR dissoluble agents (D2 agents) on machines under investigation
Cortex XSOAR also provides you a mobile phone app for lightweight access to the dashboard and case
management and monitoring functions.
Deployment considerations:
• A minimalist deployment of the Cortex XSOAR platform can comprise a standalone server. The
use of one or more instances of a Cortex XSOAR Engine is entirely optional.
• Other extended installation types of the Cortex XSOAR platform include a high-availability or
disaster-recovery solution named Live Backup. Deployment of a Live Backup server provides an
active-passive, manual, failover option for high availability. Suppose you want to offload
database functions from the main server to expand the platform’s storage and data-handling
capacity for incident-related data. In that case, you can deploy one or more dedicated database
servers.
• You can deploy and connect a dedicated dev server to a custom repository to manage your own
content repository and to support a formal development, testing, acceptance, and deployment
process for custom content. The following image shows an example of content repository
configuration options:
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/installation/system-requirements.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/disaster-recovery-
and-live-backup/disaster-recovery-and-backup-overview.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/distributed-
database/distributed-database-deployment.html
Palo Alto Networks maintains a large repository of Docker images. All Docker images are available via
the Docker Hub under the Demisto organization at https://hub.docker.com/u/demisto/.
The Docker image creation process is managed via the open-source project “demisto/dockerfiles”. Before
you try to create a new Docker image, check if one already is available. You can search the repository-
info branch updated nightly with image metadata and os/python packages used in the images.
Note: For security reasons, Cortex XSOAR cannot accept images that are not part of the Docker Hub Palo
Alto Networks (Demisto) organization.
If you cannot find an existing image, see the article about creating a Docker image for testing and
production use at https://xsoar.pan.dev/docs/integrations/docker#docker-image-creation.
Suppose you need to install Docker images in air-gapped environments. In that case, you can download
Docker images by appending &downloadName=dockerimages to the Cortex XSOAR server download
link you received from Cortex XSOAR and read the required instructions in the related reference
documents in the “References” section.
References:
• https://xsoar.pan.dev/docs/integrations/docker
• https://github.com/demisto/dockerfiles/blob/master/README.md
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/docker/docker-
images-in-demisto.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/docker/install-
docker-images-offline.html
You can define whether you want Cortex XSOAR to create automatic backups and the location to store
the backups on the Settings > ADVANCED > Backups page. The database backup files are located in
/var/lib/demisto/backup by default, and you can change this configuration.
• /etc/demisto.conf
• /var/lib/demisto/artifacts
• /var/lib/demisto/attachments
• /var/lib/demisto/d2_server.key
• /var/lib/demisto/tools
• /var/lib/demisto/versionControlRepo
• /usr/local/demisto
Another option for backup is the Live Backup, which enables you to mirror your production server to a
backup server. In a disaster recovery situation, you can easily convert your backup server to be the
production server.
Server actions are mirrored in real-time. If a server failover, engines dynamically reconnect to the active
host.
The following image depicts an example of Live Backup configuration for the web interface:
There might be pending actions due to high server load, connectivity issues, and so on. Note the
following:
• You must install the same Cortex XSOAR version and build number on all servers.
• Live Backup uses a single main server and a single standby server. Additional servers are not
supported as of version 6.0.
• Active/active configuration is not supported as of version 6.0.
• Each host retains its distinct IP address and hostname.
• Neither host has any awareness of which node is truly active. Therefore, failover is not dynamic,
which means that a node must be made active manually by an administrator.
• When you configure Live Backup, each Cortex XSOAR server should have its own unique
hostname and IP address.
• You may require analysts to always navigate to the same hostname when they access Cortex
XSOAR. In this scenario, configure a separate DNS record that points to the active Cortex
XSOAR server. If a server fails over, you must manually repoint this DNS record to the IP of the
newly active Cortex XSOAR server.
• The TTL of the DNS record must be set to a zero value. If the value is higher, analysts cannot
access the active server using the shared hostname until the TTL of the record expires and the
DNS record is refreshed in the cache. The refresh of DNS records may take more than an hour.
• If you do not require a single URL to access Cortex XSOAR, you might point your browser to the
URL of the newly active Cortex XSOAR server when a server failover occurs.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/disaster-recovery-
and-live-backup/backup-the-database.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/disaster-recovery-
and-live-backup/disaster-recovery-and-backup-overview.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/disaster-recovery-
and-live-backup/configure-the-live-backup-environment.html
Multi-tenancy also enables MSSPs to manage many tenants from a single console. You can easily switch
between tenant environments from a tenant environment to the main environment, where the MSSP can
get a high-level overview and global view status, for example, of all open incidents and indicators across
all tenants.
Scalability features allow you to deploy multiple servers on-premises or via the hosted cloud and across
multiple geographies. The multi-tenant scheme allows multiple tenants on each server and multiple
additional host servers that operate like the standard Cortex XSOAR server-engine communication
model. In MSSP networks, engines often are used to enable the network connectivity between the
MSSP’s network and the customer’s local network. The system scales to enable support for more than
100 tenants.
When you use Cortex XSOAR multi-tenancy in an enterprise, several limitations can negatively impact
enterprise productivity:
• There is complete isolation among tenants. The data is not easily shared between tenants. For
example, collaboration on an incident requires extra steps such as mirroring the data between
tenants.
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-multi-tenant-guide/multi-
tenant-deployments/multi-tenant-overview.html
Cortex XSOAR automates threat intel management by ingesting and processing indicator sources, such as
feeds and lists, and exporting the enriched intelligence data to the SIEMs, firewalls, and any other system
that can benefit from the data. These capabilities enable you to sort through millions of indicators daily
and take automated steps to make those indicators actionable in your security posture.
The threat intel capabilities of Cortex XSOAR are closely associated with indicators. You can find the
essential concepts related to threat intel management in the following bullets:
The indicator field Expiration Status displays the indicator status, Active or Expired. The
indicator field Expiration displays the method by which and when that indicator is expired.
Indicator expiration is applied at the indicator type level. Indicators assigned to a specific
indicator type inherit the indicator type’s expiration method.
• Indicator smart merge: The same indicator can originate from multiple sources and be enriched
with various methods (integrations, scripts, playbooks, and so on). Cortex XSOAR employs
smart merge logic to make sure indicators are accurately scored and aggregated.
• Indicator timeline: The indicator timeline is the default section in the indicator summary layout.
The timeline is in table format and displays an indicator’s complete history, including the first
seen timestamp and last seen timestamp and changes made to indicator fields.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-threat-intel-management-
guide/threat-intelligence-management-overview.html
• https://www.paloaltonetworks.com/resources/videos/cortex-xsoar-threat-intelligence
• One app server and one database server running on separate machines
• One app server and multiple database servers running on separate machines
When you work with one database server, all content is stored on the one database server. When you
work with multiple database servers, the first database you install is considered the main database, and
any secondary database that you install is considered a node.
The main database server maintains all content that is not an incident or related to an incident, such as
playbooks, automations, integrations, and layouts. The nodes maintain all incidents and incident-related
data, including a copy of the playbook used to process the specific incident, indicators extracted from the
incident, and all other context data created. The Cortex XSOAR server distributes incidents among
secondary nodes using a round-robin method.
Backup options for the main database and each node for disaster recovery scenarios also are part of the
solution design.
Reference:
• https://www.paloaltonetworks.com/resources/guides/prevention-detection-and-response-for-
security-operations-architecture-guide
A log bundle is a zip file of additional logs available in the Cortex XSOAR system. Send the log bundle
zip file to Cortex XSOAR support to use for debugging purposes. After you create the log bundle, the
logs also will appear in /var/log/demisto/.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/logs/create-a-log-
bundle.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/logs/audit-
trail.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/logs/send-the-
audit-trail-to-an-external-log-service.html
References:
The following graphic depicts the usage of engines for Cortex XSOAR:
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/engines/understand-demisto-engines.html
• Automatically: An incident associated with a playbook opens automatically for investigation and
runs the associated playbook.
• Manually: Select the incident in the Incidents table.
• CLI: Type /investigate id=<incidentID#>.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/incidents/incidents-management/incident-investigation.html
• Configure integrations: You configure integrations with your third-party products to start fetching
events. Events can be potential phishing emails, authentication attempts, SIEM events, and more.
• Classification and mapping: After you configure the integrations, you must determine how the
events ingested from those integrations will be classified as incidents. For example, you might
want to classify items based on the subject field for email integrations, but for SIEM events, you
will classify by event type. You must map the information coming from the integrations into the
fields that you created in the planning stage.
• Pre-processing: Pre-processing rules enable you to perform certain actions on incidents as they
are ingested into Cortex XSOAR directly from the web interface. You can use the rules to select
incoming events on which to perform actions, for example, link the incoming event to an existing
incident or, based on configured conditions, drop the incoming incident.
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/incidents/incident-
lifecycle.html
It enables you to install turnkey Content Packs to help solve any security use case with content
contributed by SecOps experts and the world’s largest SOAR partner community.
• Leverage content from the largest SOAR community: You can extend Cortex XSOAR with
proven use cases contributed by SecOps users and SOAR partners.
• Discover top-rated, validated content: You can identify the best premium and free content
offerings recommended by your peers and validated by the world’s leading cybersecurity
company. You can experience how to increase automation with the tools you already have and
browse through community best practices.
• Solve your most difficult security use cases: You can use a single click to deploy turnkey security
workflows that span integrations, playbooks, dashboard layouts, and reports.
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-overview.html
Content Packs are categorized as free and premium (paid) and contain the following:
• Classifiers
• Dashboard Widgets and Reports
• Incident Fields and Incident Types
• Indicator Fields and Indicator Types
• Layouts (Incident and Indicator Layouts)
• Playbooks
• Scripted Automations
• Technology Integrations
References:
When you create new content such as playbooks, automations, incident types, and integrations, you can
send the contribution to Cortex XSOAR directly from the content. Cortex XSOAR automatically adds
dependencies to ensure that the Content Pack installs and runs correctly. For example, from a playbook,
you can click Contribute to Marketplace:
After you send the contribution for review, Cortex XSOAR contacts you. You also can download the
contribution and upload it, for example, to GitHub.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/content-pack-contributions.html
• https://xsoar.pan.dev/docs/tutorials/tut-setup-dev
• https://xsoar.pan.dev/docs/contributing/checklist
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/content-pack-contributions/create-a-content-pack.html
• https://xsoar.pan.dev/docs/concepts/design-best-practices
You can browse all content (including installed content), view only installed Content Packs, or see your
contributions. When a Content Pack needs to be updated, you receive the notifications and view the
updates on the Installed Content Packs tab.
When you search for content, you can use the search bar by adding text and then selecting the content
from which to search:
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-overview/marketplace-search-and-navigation.html
Cortex XSOAR primarily uses Docker to run Python and PowerShell scripts and integrations in a
controlled environment. Scripts and integrations run isolated from the server environment to prevent
someone from accidentally damaging the server. By packaging libraries and dependencies, you can
prevent unknown issues from occurring because the environment is all the same.
Reference:
• https://xsoar.pan.dev/docs/integrations/docker
When the Content Packs need to be updated by the creators, they become ready after the review and
approval process by the Cortex XSOAR team and you are notified about the updates in the Cortex
XSOAR interface.
Suppose you want to contribute the content entities you created. In that case, you should create a Content
Pack and submit it for review for it to be added to the Cortex XSOAR Marketplace and become available
to customers.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions/content-pack-installation/update-a-content-
pack.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions.html
You can update to the latest content version or specific versions. Any customizations you have made are
automatically included in any update. All dependent Content Packs update automatically with the main
Users can see updates for Content Packs that they have in their environment that were downloaded by
another user.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions/content-pack-installation/update-a-content-
pack.html
5.2.3 Summarize the relationship between customer content and existing content updates:
Contributions are Content Packs that you create that are sent to Cortex XSOAR for review and approval.
After approval, these Content Packs are uploaded to the Marketplace, shared, and installed as would be
any other Content Pack. You can create the following Content Packs:
• Basic Content Pack for specific content, such as playbooks, automations, integrations, and
incident types
• Advanced Content Pack in the Contributions tab in the Marketplace
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/content-pack-contributions.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-overview/content-packs-support-types.html
5.2.4 Outline recommendations for content updates and when custom content would be
appropriate:
Contributions are Content Packs that you create. Contributions allow you to make the content that you
build on Cortex XSOAR available to every client through the Marketplace. Content can be Partner or
Community supported, Free, or Paid.
After you have created your content, you must submit your content for the Palo Alto Networks team to
review and approve.
• In most cases if you want to provide a Content Pack that you want to support, you must open a
GitHub Pull Request.
• Cortex XSOAR supports a simplified flow to contribute directly from the product web interface.
Use this flow only if you are an individual contributor and your Content Pack will be community
supported.
• If you are providing a Premium (Paid) Content Pack, the GitHub process is slightly different and
to learn the process in detail see the article at
https://xsoar.pan.dev/docs/integrations/premium_packs.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions/content-pack-installation.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/content-pack-contributions.html
• https://xsoar.pan.dev/docs/contributing/checklist
• https://xsoar.pan.dev/docs/concepts/design
• https://xsoar.pan.dev/docs/integrations/premium_packs
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/content-pack-contributions/create-a-content-pack.html
Before you install a Content Pack, you can search it by using the Browse tab. When you find the required
pack, you can see what is included in the pack and then use the Install button to finish the installation:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions/content-pack-installation/install-a-content-
pack.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions/content-pack-installation/update-a-content-
pack.html
• https://xsoar.pan.dev/docs/contributing/checklist
5.2.7 Explain when imports or exports are appropriate and how they would be done:
When you create your Content Packs, you can use the Contributions tab in the Marketplace to send them
to Cortex XSOAR for review and approval. If you want to prepare the Content Pack and send it later for
review or upload GitHub, you can export your package in the Contribution screen by selecting the Save
and download your contribution option:
However, you can upload Content Packs offline. The Administrator downloads the Content Pack to
install, which is in zip format.
Before you start uploading content that you want to install, you should update server configurations to
turn off Marketplace synchronization in the cloud for both the Content Packs and the review process by
adding the following keys values to Settings > About > Troubleshooting > Add Server Configuration.
Addition of those keys improves system performance.
Key Value
marketplace.sync.enabled false
marketplace.content.packs.rating.enabled false
marketplace.subscriptions.sync.enabled false
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/marketplace/marketplace-subscriptions/install-a-content-pack-offline.html
The following image depicts the main menu for Cortex XSOAR that contains links for the home page,
reports, incidents, indicators, playbooks, automation, jobs, marketplace, and settings sections:
The default landing page of the management web console is the Home page, which displays the default
Dashboards. Dashboards consist of visualized data powered by fully customizable widgets, which
enables you to analyze data from inside or outside Cortex XSOAR in different formats such as graphs, pie
charts, or text. You can add new dashboards or edit and customize the existing dashboards by adding or
creating widgets.
This default dashboard provides quick access to summary data, including mentions of the user within
various incidents or cases. The Dashboards page also provides high-level system-health status relative to
disk, CPU, and memory.
The widget-based configuration and display functionality used for dashboards also provides the basis for
reports. You access the preview and design function for a report by clicking the double-page icon in the
top right of the target report’s information area. Reports, like dashboards, are constructed of the graphical
placement of widgets.
The Indicators page allows you to collect and track several discrete data elements extracted from
incidents such as hashes, domains, URLs, and email addresses.
The Incidents page lists all relevant incidents. You can create and use saved queries to query the
incidents and then investigate one of them:
• The first tab that welcomes you is the Incident Info tab, where you can find various information
about that incident.
• The War Room tab displays the results of automated activity, provides a context for running
manual commands from the CLI at the bottom of the page, and provides a place for sending
messages among analysts or adding notes to the War Room.
• On the same page, the Work Plan tab provides access to the playbook that was run and allows
you to review the results of individual tasks and resolve any issues or respond to any pauses in
execution based on any pending manual tasks.
• In the investigation process, additional tracking, recording, and collaboration features include an
Evidence Board tab that provides a space for selected, important items that appear in the War
Room first and are added either automatically based on a playbook action or selectively based on
manual review.
• The Related Incidents analytical tool maps the current incident to other incidents based on a
framework for assessing similarity. A Canvas feature is based on a pin-board metaphor where
you can auto-populate related and linked incidents and indicators. This tool can plot relationships
in more complicated cases that may benefit from this type of visualization.
The Automation page contains the automations and the associated code for each automation. It also
includes the Script Helper tool that opens a menu that presents all of the functions of the common server
on the Automations page.
Jobs trigger incidents on-demand or based on a schedule. The incident can run a playbook. The playbook
in turn can run automations for anything that can be scripted and controlled via API. Jobs are somewhat
like typical Linux-system cron jobs and can help you to run almost any commands.
The Marketplace page is the central location for installing, exchanging, contributing, and managing all
of your content, including playbooks, integrations, automations, fields, and layouts .
The Settings page provides access to additional SOAR-engineer functions such as configuring
integrations, defining fields and mapping data to fields, defining incident types, editing or configuring
page layouts, and managing indicator types and allow lists. Several IT-administrator functions and cross-
over functions with the SOAR-engineer role also are found within the Settings area. Such functions
include backup configuration, access to version information, license status, and troubleshooting and
advanced server configuration tools.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/cortex-xsoar-
overview/cortex-xsoar-concepts.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/dashboards/dashboard-overview.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/cortex-xsoar-
overview/keyboard-shortcuts.html
• Using the search query: You can search for information using the Lucene query syntax. The
search query appears in the Indicators, Incidents, Jobs, Playbooks, Automation, and Evidence
Board pages. For example, to search for all incidents that have the status as pending and are
critical, type status:Pending and severity:Critical.
• Using the search box: You can search for incidents, entries, evidence, investigations, and
indicators in Cortex XSOAR. The search box appears in the top-right corner on every page. You
can either type free text or search using the search query format by using the arrow keys. For
example, incident.severity:Low searches for all incidents that have “low” in the severity
category.
• Using a general search: For example, when searching for a table in the Users tab, you can search
for a widget, a task in a playbook, etc.
References:
Playbooks are like flowcharts. They have different branches that can do different things. Decisions
influence the flow of the book. These decisions can be made automatically, manually, or with a mix of the
two.
References:
• https://xsoar.pan.dev/docs/playbooks/playbooks-overview
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/playbooks/playbooks-overview.html
Each step in the playbook is a Cortex XSOAR task. Tasks can be standard tasks, conditional tasks, and
The Standard task type includes both manual and script-based (automation-based) tasks. A manual task
requires your analysts to review information, confirm an automated verdict, make a determination, or
escalate an incident.
You can run automated tasks on scripts that exist in the system and are exposed to and managed within
the user interface as an “automation.”
When you add a playbook to a playbook and connect it to one or more preceding and following tasks, the
playbook you add will function as a sub-playbook.
Playbooks enable you to automate many of your security processes, including handling your
investigations and managing your tickets. Cortex XSOAR has a Work Plan page to enable you to monitor
and manage the playbook workflow and add new tasks to customize the playbook to a specific
investigation.
References:
• https://xsoar.pan.dev/docs/playbooks/playbook-conventions
The dashboards also provide a high-level system-health status (relative to disk, CPU, and memory) pre-
configured service-level-agreement report that measures completion time against parameters that you can
set, enable, or disable, based on incident type. You also have an Incidents summary that reports on data
beyond the scope of just the current user.
The widget-based configuration and display functionality used for dashboards also provides the basis for
reports. You access the preview and design function for a report by clicking the double-page icon in the
top right of the target report’s information area.
Reports, like dashboards, are constructed of the graphical placement of widgets. Widgets can be
individually configured for reports and dashboards.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/dashboards/dashboard-overview.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/reports/report-
overview.html
• Incidents: Information relating to incidents, such as severity type, active incidents, and
unassigned incidents
• System Health: Information relating to the Cortex XSOAR server
• My Dashboard: A personalized dashboard relating to your incidents, tasks, and so on
• SLA: Information relating to your Service Level Agreement
• Create a dashboard
• Edit a dashboard
• Import and export a dashboard, which is useful in a test and production environment
• Share and unshare a dashboard
• Delete or remove (if shared) a dashboard
Cortex XSOAR comes with out-of-the-box reports such as critical and high incidents, daily incidents, and
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-
admin/dashboards/configure-a-default-dashboard.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/reports/create-a-
report.html
6.3.3 Summarize which information can be added, edited, or shared within dashboards and
reports:
Typical dashboard control functions accessible by a click of the gear icon allow you to delete, duplicate,
share, import, export, and reset your dashboards. Shared dashboards and new, blank dashboard spaces are
added from the Add dashboard drop-down menu. Dashboards can be shared among analysts, which helps
in collaboration during investigations.
The following two images contain the same widgets, one for a new dashboard and the other for a new
report. The Widget Library that you will use is the same.
For PDF and Word document output, the Report Editor’s layout view will match almost exactly the way
the report will display in the target application.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/dashboards/edit-a-
dashboard.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/dashboards/share-
a-dashboard.html
Cortex XSOAR comes with many out-of-the-box system widgets such as Today’s New Incidents, Late
Incidents, and Saved by Dbot. You can edit these widgets when you create or edit a dashboard or report.
Reference:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/widgets/widget-
overview.html
You can create a custom widget for your dashboard or report using a JSON file and then add the new
widget to a new or edited dashboard or report.
You also can use custom script-based widgets with an automation script to create dynamic widgets for
more complex calculations. If you create or upload the script to the Automation page, you can use the
script in any widget, use the script with a JSON file, and add it to an Incident and an Indicator page, rather
than uploading the script each time.
References:
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/widgets/create-a-
widget-in-the-widgets-library.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/widgets/create-a-
custom-widget-using-a-json-file.html
• https://docs.paloaltonetworks.com/cortex/cortex-xsoar/6-0/cortex-xsoar-admin/widgets/create-a-
custom-widget-using-an-automation-script.html
1. Playbook Development
1) What is the primary use of the context data?
a) sending data to related incidents
b) passing data between playbook tasks
c) storing data for use with integrations
d) mapping data to required fields
10) Which two types of actions can be specified with a “Standard” playbook task? (Choose two.)
a) manual
b) automated
c) conditional
d) data collection
16) Which two privileges are needed to create or customize an incident layout? (Choose two.)
a) page access privilege for the settings page
b) read privilege for integrations
c) page access privilege for Incidents page
d) read/write privilege for investigations
17) What should you do if you want to keep a set of specific information for every event of a certain
type?
a) add that information in the Evidence Board when investigating the incident
b) add custom fields to incidents representing events of that type
c) chat about it in the War Room
d) use Remote Device Control to obtain the information
19) What are two sources of alert enrichment for Cortex XSOAR? (Choose two.)
a) SIEMs
b) Widgets
c) Dashboards
d) AutoFocus
22) Which action is required before a new integration can ingest a typed alert and automatically run a
playbook for the resulting incident?
a) An instance of the integration must be created.
b) The integration must be primed with a test alert of that type.
c) The playbook must be run manually with that type of alert.
d) The alert source must be made aware through an API of the playbook to be run.
23) Which Cortex XSOAR functionality always is part of accessing external sources for alert
enrichment?
a) Incidents
b) Playbooks
c) War Room
d) Integrations
24) What are two ways used to classify events ingested from an integration? (Choose two.)
a) when configuring an integration
b) by fetching incidents
c) by setting a classification key
d) when setting incident layout
28) What must you do to modify the code for an integration that you have downloaded from the
Marketplace?
a) Click to duplicate it.
b) Click the edit icon and enter the admin password.
c) Click to download the integration and give it a new name.
d) Click the view icon, click Save Version, and give it a new name.
29) Which element enables Cortex XSOAR to automatically extract a custom indicator type from an
unmapped key string?
a) regex
b) layout
c) structured query in Lucene syntax
d) valid data description in SRE syntax
4. Solution Architecture
30) What is required to display dev-prod configuration options?
a) access to the integrations page
b) use of a command in the graphical CLI
c) implementation of a custom server parameter
d) login credentials for the Linux command shell
31) Which element of the Cortex XSOAR solution architecture supports the isolation of the
development of new integrations, automations, and playbooks?
a) dev-prod
b) hybrid cloud
c) Cortex XSOAR engine
d) multi-tenant mode
32) In a dev-prod configuration, from where does the prod server get updates authored by Palo Alto
Networks?
a) Cortex XSOAR public content repository
b) remote repository specified in the dev-prod configuration parameters
c) content database on the local dev server
d) dev server default repository
37) Which two settings are recommended to harden or optimize the system’s use of Docker? (Choose
two.)
a) setting imageless-mode flag
b) limiting the memory allowed for each container
c) limiting the number of CPUs a container may use
d) increasing the limit for the number of allowed PIDs
38) What is the maximum number of servers supported for a Live Backup configuration?
a) 2
b) 3
c) 4
d) 8
40) Which content is excluded from backup by the Automated Backups feature?
a) incidents
b) scripts and playbooks
c) artifacts and attachments
d) user-defined configurations
43) Which Live Backup configuration architecture can you deploy for disaster recovery?
a) active-active
b) active-standby
c) cold backup
d) DNS round-robin load balancing
44) Which three statements are true regarding live backup for distributed database environments?
(Choose three.)
a) Live backup enables mirroring of active database servers to passive servers.
b) Active/active configuration is supported.
c) Live backup converts passive servers to the active database servers in a disaster recovery
case.
d) The failover is dynamic.
e) Live backup uses a single active server and a single standby server.
45) Which installation file is required to install Live Backup on a target backup server?
a) the same file that you use to install Cortex XSOAR on a primary server
b) the Live Backup installer available on the Integrations > Agent Tools page
c) the engine installer that you download from the Integrations > Engines page
d) the live-bckp-server-xxxx.sh file that you download by use of a link sent to DR-Group
members
46) How do you export all the custom content from a Cortex XSOAR instance?
a) Run a detailed content report.
b) Click Export at the bottom of the Settings > About > Troubleshooting page.
c) Use the !scp custom-all <user>@<host>:<path><file-name> command in the graphical
CLI.
d) Execute with sudo privileges the send-non-vendor-files.sh script from the Linux
command shell.
48) Which two indicator types should have an indicator expiration applied when they are consumed
from threat intel feeds? (Choose two.)
a) IP address
b) domain
c) file hash
d) ssdeep
49) What are two use cases when analyzing indicators via playbooks? (Choose two.)
a) indicator enrichment
b) pushing indicators to third-party products for enhanced alerting and detection
c) generating finished threat intelligence products
d) static analysis of malware samples
50) Which two configurations are available for threat intel feeds? (Choose two.)
a) Fetch Incidents
b) Source Reliability
c) Indicator Expiration Method
d) Incident type
51) Which Cortex XSOAR feature enables playbooks to execute against new indicators from threat
intel feeds?
a) Feed Triggered Jobs
b) Mapping
c) bring your own integration
d) Export Indicators Service
52) Mapping of threat intel feeds enables which two abilities? (Choose two.)
a) assign attributes from a threat intel feed to indicator fields
b) apply transforms (e.g., Uppercase) to attributes from threat intel feeds
c) run playbooks against new indicators of compromise
d) integrate threat intel feeds into other Palo Alto Networks products, such as Cortex XDR
55) Which type of deployment involves the use of one or more Cortex XSOAR engines?
a) hosted cloud
b) hybrid cloud
c) private cloud
d) public cloud
56) Which Cortex XSOAR infrastructure component do you deploy in a protected network to extend
the core server’s capabilities?
a) Live Backup server
b) Engine
c) distributed database
d) dev server
63) Which manual action can you perform by use of the Cortex XSOAR web console to support air-
gapped deployments?
a) installation of Docker images
b) execution of the tar command to decompress platform-content archives
c) update of the content repository
d) download of Docker images
65) Which is the correct search query for “incidents that are not jobs and that are not closed”?
a) -status:closed -category:job
b) Status is not closed and Category is not job
c) Status!:closed or Category!:job
d) status!=job and category!=job
66) Which incidents are displayed for the search string owner:””?
a) all incidents
b) all unassigned incidents
c) all incidents with a named owner
d) all incidents that are jobs and thus owned by the system
69) How do you specify the data to use in a widget applied to a dashboard or a report?
a) enter a custom or an out-of-the-box automation script
b) select one or more incident fields from drop-down menus
c) drag and drop data fields, filtered by the context of the widget
d) use the same query syntax that is supported on the Incidents page
70) If disk use is 45%, which color is the disk status indicator on the System Health dashboard?
a) green
b) yellow
c) red
d) black
71) Which two statements are true regarding pre-configured system reports? (Choose two.)
a) cannot be directly modified
b) can be modified by creating a copy
c) cannot be exported
d) cannot be run by an analyst directly