For the complete documentation index, see llms.txt. This page is also available as Markdown.
Cortex XSOAR 6.xCortex XSOAR 8 (SaaS)Cortex XSOAR 8.x (On-premCortex XSIAM

Validation checks

Reference the validation checks performed by the Demisto SDK validate command.

BA: Basic
Code
Description
Rationale
Autofixable

BA100

Validates Marketplace content is set to -1 to make it easier to distinguish it from modified, versioned content.

The version for system content items should always be -1 as per the standard.

Yes

BA101

Validates the file ID and name fields are identical.

The ID attribute serves as the unique identifier for files across the platform

Yes

BA105

Validates the content item ID doesn't include any slashes (/).

IDs with slashes are not allowed in the platform

Yes

BA106

Validates the item's fromversion field is sufficient.

Ensures content can use the latest and greatest features of the platform. The minimal value is the third-last platform release version.

Yes

BA108

Checks if there are separators in the folder name.

Ensures consistent, readable folder structures by avoiding separators like spaces, underscores, or hyphens.

BA109

Checks if there are separators in the script or integration files names.

Ensures filenames for scripts and integrations do not contain separators to maintain consistency and readability.

BA110

Checks that the entity name or display name does not contain the entity type.

Improves clarity and simplicity in the content repository.

BA111

Checks whether the name of a content item contains an excluded word.

Increases clarity by keeping content names simple.

BA113

Checks for content item names with trailing spaces.

Ensures accurate referencing.

Yes

BA114

Checks that a content item from one pack to another.

Ensures content items are not moved from one pack to another.

BA116

Validates the CLI name and the ID match for incident and indicator fields.

Ensures consistency between the CLI name (used by the platform) and the ID.

Yes

BA118

Validates the item's toversion is greater than or equal to its fromversion.

Content with a from_version greater than the to_version will not show in the platform.

Yes

BA119

Validates the Python file doesn't have a copyright section with the words BSD, MIT, Copyright, or proprietary.

Content in Marketplace is licensed under the MIT license.

BA124

Validates the script/integration has a unit test file.

Unit tests ensure code behaves consistently between versions.

BA125

Checks that customer facing docs and fields don't contain internal terms.

Ensures customer-facing docs avoid internal terms for clarity.

BA126

Checks if script/integration is deprecated correctly.

Deprecated scripts / integrations need clear descriptions for user guidance.

BA127

Validates the level of depth of the context output path in the YAML is less than or equal to 5.

Ensures avoiding overly nested context to ease data extraction.

BC: Backward compatibility
Code
Description
Rationale
Autofixable

BC100

Validates the pack name subtype of the new file matches the old one.

Changing subtype can break backward compatibility.

Type indicates the language your integration is written in. Cortex XSOAR and Cortex XSIAM currently support Python and JavaScript. When using Python, you must specify the subtype field (either: python2 or python3). Additionally, when using Python dockerimage should be specified. If dockerimage is not specified, a default Python 2 image will be used.

Yes

BC101

Checks whether context output keys were removed from the script's output section.

To verify we don't break backward compatibility.

BC102

Checks whether the context path changed.

Changing the paths may break dependent content items which rely on the existing paths.

BC103

Checks whether an argument name changed.

If an existing argument is renamed, it will break backward compatibility.

BC104

Checks whether a command name or argument name changed.

If an existing command or argument is renamed, it will break backward compatibility.

BC105

Checks whether the ID of a content item changed.

Changing the ID of an item causes it to show as a new item in the platform, and to not update properly for users who already have a previous version installed.

Yes

BC106

Checks whether the fromversion property changed on existing content files.

Changing the fromversion field for a content item can break backward compatibility.

The last section of a YAML file provides information regarding what version is supported and tests.

fromversion indicates the server version that is supported with the integration. If the server version is below the fromversion, the integration will not display in the Settings area.

BC107

Checks whether the toversion property changed on existing content files.

Changing the toversion field for a content item can break backward compatibility.

BC108

Checks whether the marketplaces property was removed or added in a manner that effectively removes all others.

Removing marketplaces or adding a new one that effectively removes all others can cause issues with the content item's visibility and availability.

BC110

Checks whether new required arguments were added to an existing command.

Adding a new argument to an existing command and defining it as required or changing a non-required argument to required breaks backward compatibility.

BC111

Checks whether new required arguments were added to an existing script.

Adding a new required argument or changing a non-required one to required without specifying a default value breaks backward compatibility.

BC112

Checks whether parameters were removed from an existing integration.

Removed parameters can cause errors if the parameter is needed by the server or integration code.

BC113

Checks whether incident types were removed and incident fields changed.

Ensures no breaking changes are made to existing mappers so customers won't lose data between pack updates.

BC114

Checks whether a pre-defined list of fields was removed or modified in the integration YAML.

Ensures backward compatibility between different versions of a content item.

CL: Classifier
Code
Description
Rationale
Autofixable

CL100

Validate that a classifier has a type = classification field.

This standardization is for the platform to correctly identify and handle the classifier.

Yes

CR: Correlation rule
Code
Description
Rationale
Autofixable

CR102

Validates search_window exists and is non-empty for execution_mode = SCHEDULED.

SCHEDULED execution must have a defined time frame search_window to operate within.

DA: Dashboard
Code
Description
Rationale
Autofixable

DA100

Validates the dashboard excludes all the nonrequired fields.

The dashboard should contain only the required fields.

Yes

DA101

Validates the dashboard includes all the required fields.

The dashboard should contain the required fromDate, toDate, and fromDateLicense fields.

DO: Docker image
Code
Description
Rationale
Autofixable

DO100

Validates the given content item does not use the tag latest in its Docker image.

Locking content to use a specific tag of a Docker image ensures stability. The tag is usually updated in newer versions of the content item. For more information, see Using Docker.

Yes

DO101

Validates the given content item uses a Demisto Docker image.

The Docker image used in a content item should originate from Demisto's Docker repository. This ensures that the Docker image is trusted, maintained, and compatible with the Demisto platform.

DO102

Validates the given content item uses a Docker image that is not the native image.

The native-image Docker image is intended for internal development and should not be used to run integrations or scripts.

DO103

Validates the given content item's Docker image exists in Docker Hub.

Platform-supported content must have images available in Docker Hub so they can be widely pulled and used.

DO104

Validates the given content item has a Docker image.

Python and PowerShell content runs in containers.

DO105

Validates the given content item uses a Docker image that is not deprecated.

Best practice is to use images that are maintained by the platform.

DO106

Validates the given content item's Docker image isn't outdated.

Updated Docker images ensure that the code doesn't use outdated dependencies, including bug fixes and fixed vulnerabilities.

Yes

DS:Description
Code
Description
Rationale
Autofixable

DS100

Checks whether a description file exists for a beta integration.

A disclaimer for beta integrations is required.

DS101

Checks if a beta disclaimer exists in the detailed description.

A disclaimer for beta integrations is required.

DS104

Verifies that a description file is present for an integration.

We recommend a description file for each integration, which for example has additional details on how to configure the instance.

DS105

Checks if the DESCRIPTION file contains contribution details.

Ensures the contribution/partner details that are generated automatically are not duplicated.

DS106

Checks if the description file exists and the name is valid.

Ensures all integrations have all required documentation and the file name is according to our standards.

DS107

Validates that none of the description lines contains the word demisto.

Ensures the current name of the product is used rather than the old one.

DS108

Ensures all YAML file description fields end with a period.

Ensures documentation standards.

Yes

GF: Generic field
Code
Description
Rationale
Autofixable

GF100

Checks if group field is set to 4.

Required by the platform.

Yes

GF101

Checks if the ID starts with generic_.

Required by the platform.

GF102

Checks if the unsearchable key is set to true.

Marking many items searchable causes index and search loads on the platform. Official demisto/content GenericField files must be set to unsearchable. In custom content, we recommend keeping the number of searchable fields to a minimum.

Graph
Code
Description
Rationale

GR100

Detects content items that attempt to use other content items that are not supported in all of the marketplaces of the content item.

Ensures content graph proper construction.

GR101

Validates the source's fromversion >= the target's fromversion.

Prevents issues where used objects are not available due to a version mismatch.

GR102

Validates content items are not used in other content items which have a lower toversion.

Prevents issues where used objects are not available due to a version mismatch.

GR103

Validates there is no usage of unknown content items.

Content items should only use existing content items.

GR104

Validates there are no duplicate display names of packs in the repository.

Prevents confusion between packs.

GR105

Ensures each content item has a unique ID to prevent conflicts.

Duplicate IDs can cause conflicts and confusion.

GR106

Checks that every test playbook is linked to at least one content item. The content item has a tests key with the ID of the test playbook.

In the demisto/content repo, unlinked test playbooks are not run in CI (for PRs) unless the test playbook itself is modified. Proper linkage of test playbooks ensures content quality.

GR107

Validates that deprecated content items are not used in other content items.

Using deprecated content items can lead to unexpected behavior and should be avoided.

GR108

Validates that non-hidden packs do not have a hidden packs as mandatory dependencies.

Hidden packs are not available to install in the marketplace.

IF: Incident field
Code
Description
Rationale
Autofixable

IF100

Checks if the name and cliName do not contain potential incident synonyms.

The name and cliName fields are limited by the platform.

IF101

Checks if the incident field is marked as content.

Required by the platform.

Yes

IF102

Checks if system flag is false.

Required by the platform.

Yes

IF103

Checks if a given field type is valid.

The types of the IncidentField are limited by the platform.

IF104

Checks if group field is set to 0.

Required by the platform.

Yes

IF105

Checks if cliName field is alphanumeric and lowercase.

Required by the platform.

IF106

Checks if cliName field is not a reserved word.

The cliName values of the incident field are limited by the platform.

IF111

Checks if the field type changed.

Changing the IncidentField type is not allowed by the platform.

IF113

Checks if the field name starts with its pack name or one of the item prefixes from pack metadata.

Required by the platform.

IF115

Checks if the unsearchable key is set to true.

Marking many items searchable causes index and search loads on the platform. Official demisto/content IncidentField files must be set to unsearchable. In custom content, we recommend keeping the number of searchable fields to a minimum.

IF116

Checks if incidentFields with multiSelect types have empty selectValues options.

Due to UI issues, empty values for the selectValues field are not supported.

Yes

IF119

Checks if incidentFields with singleSelect types have empty or more than one selectValues options.

Due to UI issues, more than one or only empty values for the selectValues field are not supported.

Yes

IM: Author image

The following are the integration logo requirements:

  • 10 KB maximum size

  • Black and white or contrasting colors (no light colors)

  • Dimensions of 120x50 pixels

  • Transparent background

  • Only PNG format

  • No reversed logos or borders

Code
Description
Rationale
Autofixable

IM100

Checks if the integration has an image path.

Images make it easier to find integrations.

IM101

Checks that the image file size matches the requirements.

The image needs to fit properly in the UI with maximum size 10 KB.

IM106

Checks if the integration has an image other than the default ones.

If an image is provided, it must not be a default image.

IM108

Checks that the author image file is not empty.

If an author image is provided, it must be valid.

IM109

Checks if the pack has an author image path.

Author images make it easier to identify the author.

IM111

Checks that the image file dimensions match the requirements.

The image needs to fit in the UI. The logo dimensions should be 120x50 pixels.

IN: Integration
Code
Description
Rationale
Autofixable

IN100

Validates the proxy and insecure parameters are configured correctly.

The proxy and insecure parameters in an integration are built-in platform parameters.

Yes

IN101

Checks that outputs of reputation commands are uniform and adhere to standards.

Uniform outputs allow creating generic content. Read about generic reputation commands.

IN102

Validates the checkbox parameter is configured correctly with the required argument set to false.

A checkbox parameter that is required will fail (counts as missing) when unchecked, thus forcing users to always check it, turning it into a constant true value, rather than a dynamic checkbox.

Yes

IN104

Validates that the integration category is valid.

See the list of allowed categories in the platform.

IN106

Validates the command is valid as a reputation command.

Reputation commands must follow standards for consistency and compatibility.

IN107

Validates the reputation commands include the list of required contextPaths.

Reputation commands must include required contextPaths for consistency and reliable use in playbooks or scripts. For more information, see Mandatory Context Standards.

IN108

Checks whether the subtype is valid.

This field describes the major Python version, python2 or python3.

IN109

Validates that the id field doesn't include the substring beta.

The id field in an integration should not contain the word beta. This ensures unambiguous identification of production-ready integrations.

Yes

IN110

Validates the name field doesn't include the substring beta.

The name field in an integration should not contain the substring beta. This ensures unambiguous identification of production-ready integrations.

Yes

IN112

Validates that the display name of a beta integration contains the substring beta.

Beta integrations should have beta in the display name for clear identification and to manage user expectations.

IN113

Checks that there are no duplicate arguments for integrations.

Duplicate arguments cause confusion and unpredictable behavior.

IN114

Checks that there are no duplicate parameters for integrations.

Duplicate parameters cause confusion and unpredictable behavior.

IN115

Validates the contextPath field of each output is in the correct format.

The contextPath in an integration's output must follow the correct format to ensure data can be used in subsequent playbook steps. Incorrect contextPath formats can lead to errors or unexpected behavior. Read about context and outputs.

IN117

Validates type 17 configuration parameters do not include the display field.

The display name is handled by the platform.

Yes

IN118

Validates the integration parameter has a display field if it's not type 17.

Integration parameters should have a display field for clear user understanding, except for type 17 parameters.

IN121

Validates the fetch integration has the required parameters in the correct format.

Malformed or missing parameters can lead to errors or incomplete data. Read about fetching integrations.

IN122

Checks that all feed parameters are in the correct format.

Malformed or missing parameters can lead to errors or incomplete data. Read about feed integrations.

IN123

Checks whether the integration display name is versioned correctly.

Integration display names should end with v<number> for version clarity and consistency.

Yes

IN124

Checks that a parameter is not hidden if it should not be hidden.

Hiding these parameters can lead to confusion and may prevent the integration from working as expected. Only the following parameters may be hidden: longRunning, feedIncremental, and feedReputation.

Yes

IN125

Validates the max_fetch parameter has a default value.

To maintain optimal load in the platform, the maximum number of incidents per fetch is limited.

Yes

IN126

Checks that a fetch integration is not missing the first_fetch and max_fetch parameters.

The first_fetch and max_fetch parameters in fetch integrations ensure correct incident retrieval. Their absence or incorrect format can lead to errors or inconsistencies. For more information, see https://xsoar.pan.dev/docs/integrations/fetching-incidents#first-run.

IN127

Checks that a deprecated integration display name ends with (Deprecated).

Deprecated integration display names should end with (Deprecated) to clearly indicate their status. This prevents inadvertent use of unsupported integrations. Read about deprecation.

Yes

IN130

Checks that the integration is runnable.

Integrations must have a functional purpose, such as executing commands, fetching incidents, fetching indicators from a feed, or running a long-running process.

IN131

Checks that the integration is valid as a mappable integration.

For easy debugging and troubleshooting, integrations supporting schema mapping ismappable: true should include the get-mapping-fields command. This validator ensures the command is present in the integration YAML, enhancing maintainability and user experience.

IN134

Checks whether a content item has multiple default arguments.

Multiple default arguments are not supported by the platform and could lead to unexpected behavior.

IN135

Checks that the parameter display name starts with a capital letter and doesn't contain an underscore _.

For consistency and readability, parameter display names should start with a capital letter and not contain underscores.

Yes

IN139

Checks that the word incident isn't used in any of the command names or argument names for core pack integrations.

Helps maintain the flexibility of the platform.

IN141

Checks that an endpoint command has at least one of the required fields.

Without at least one of the required fields, the command may not function properly or may return incomplete or incorrect data. Read about generic endpoint commands.

IN142

Checks that the integration contains the correct additionalinfo fields for the list of parameters with predefined additionalinfo.

Ensuring the additionalinfo fields are correctly set in an integration's parameters promotes consistency and enhances user understanding of each parameter's purpose and usage.

Yes

IN144

Checks that a reputation command has isArray field set to true for its default argument.

Reputation commands often have multiple inputs to enrich. Without isArray=true, providing an array of inputs may impact performance. Read about reputation commands.

IN145

Checks that Cortex XSOAR-supported integrations do not have non-hidden type 4 parameters.

Parameters that contain API tokens or credentials should be of type Credentials (type 9) instead of Encrypted (type 4) to allow fetching credentials from an external vault. This ensures secure and efficient handling of sensitive data. Using the Encrypted type could prevent the integration from fetching the credentials from an external vault, which could lead to operational issues. Read about credentials.

IN146

Checks that there is no fromlicense parameter field in non-Cortex XSOAR-supported integrations.

The fromlicense parameter is intended for XSOAR-supported integrations, as they rely on values coming in the platform.

Yes

IN149

Checks that a contextPath has a description if it belongs to a predefined list of contextPaths that require a description.

Common outputs in integrations need descriptions for clarity and effective usage.

Yes

IN150

Checks that a SIEM integration display name ends with Event Collector.

Consistent naming convention ensures that users can easily understand what the integration is used for. Read more about naming conventions for event collection integrations.

Yes

IN151

Checks that all commands have at least one argument.

Prevents potential errors during execution due to missing arguments.

Yes

IN152

Checks that the default value of a checkbox parameter is valid.

Checkbox parameters' default values should be lowercase boolean strings (true, false) for correct interpretation and functionality.

Yes

IN153

Checks that the default URL parameter starts with https rather than http.

URL parameters should default to https for secure communication, as http could expose sensitive data.

Yes

IN154

Checks that feed integrations and integrations with reputation commands have a reliability parameter.

The reliability parameter is required to set an indicator's reliability.

IN156

Checks that the hidden field value contains only valid values.

Incorrect values can cause unexpected behavior or compatibility issues.

IN158

Checks that the description for non-deprecated integrations is not in the deprecation format.

Avoids confusion and ensures that users are correctly informed about the integration's status. Read more about deprecation.

IN159

Checks that the capitalization of reputation-command-specific keys is correct.

Ensures consistency and effective data passage between playbook tasks. Read about the standard context output for reputation commands.

IN160

Checks that the display name for non-deprecated integrations doesn't end with (Deprecated).

Avoids confusion and ensures that users are correctly informed about the integration's status. Read more about deprecation.

IN161

Checks that the marketplacev2 tag appears in the marketplaces list of a SIEM integration.

SIEM integrations must have the marketplacev2 tag for visibility in the Cortex XSIAM marketplace, enhancing usability. See required keys for event collection integrations.

Yes

IN162

Checks that the supportlevelheader for a collector integration in a partner pack is set to XSOAR.

Collector integrations in partner packs should specify the XSOAR support level to inform users about the support level provided by Cortex XSOAR. Read about the support level header.

Yes

IN163

Checks that the feedExpirationPolicy parameter is in the correct format for both incremental and fully fetched feeds.

A malformed expiration policy can lead to errors or incomplete data.

Yes

IT: Incident type
Code
Description
Rationale

IT100

Checks that the included fields have a positive integer value.

Fields that have to be included cannot be type integer.

IT101

Checks that the playbook id is valid.

The playbook id has to be in a non-UUID format.

IT102

Checks that the extractSettings field is valid.

The extractSettings field needs to be in the correct format.

IT103

Checks that the autoExtractMode is valid.

The autoExtractMode possible options are:

  • All: To extract all indicator types regardless of auto-extract settings.

  • Specific: To extract only the specific indicator types set in the auto-extract settings.

LO: Layout
Code
Description
Rationale

LO107

Checks that only supported types are used in the layout for Cortex XSIAM compatibility.

Limited by the platform.

MR: Modeling rule
Code
Description
Rationale

MR100

Checks that each modeling rule has a corresponding schema file.

Each modeling rule must have a schema file.

MR101

Checks that the modeling rule keys rules and schema exist and are empty.

This validation is for compatibility reasons. Without the rules and schema keys, the modeling rules won't work.

MR106

Checks that each data type in the modeling rule schema files conforms to a predefined set of acceptable types.

Validating types in schema files is crucial for maintaining data integrity and compatibility across systems, preventing errors and ensuring reliable data processing.

MR107

Checks that the modeling rule dataset name in the XIF file matches the name in the schema files.

Ensures the dataset name matches between the schema and the XIF file to avoid discrepancies between the expected information and the information shown in the UI.

MR108

Checks that id and name in the modeling rule end with the correct suffixes.

To prevent confusion caused by ambiguous naming of modeling and parsing rules in the Cortex XSIAM UI, the validation ensures the rule id ends with ModelingRule and the rule name ends with Modeling Rule. This helps avoid naming conflicts and improves clarity in release notes.

PA: Pack
Code
Description
Rationale
Autofixable

PA100

Validates all the tags in the tags field have a valid prefix.

This standardization allows for efficient filtering and grouping in the marketplace. See the list of valid prefixes.

Yes

PA101

Validates the version mentioned in the pack metadata matches the latest release notes version.

Clear documentation for each version change helps users know what's new. Read more about content pack versioning.

PA102

Validates the pack is deprecated when deprecation is required.

Ensures clarity for users and prevents potential confusion about deprecated content.

Yes

PA103

Validates the pack categories are valid.

See the list of allowed categories.

PA104

Validates the modules field includes only labels from the list of allowed labels.

There is currently one allowed module: compliance.

Yes

PA105

Validates the pack has the marketplacev2 label if it includes modules.

This field is only used in Cortex XSIAM.

Yes

PA107

Checks that mandatory fields exist in the pack_metadata.json file.

Missing fields may lead to unexpected behavior when content packs are uploaded.

Yes

PA108

Validates the pack name field exists and is different from the default name.

A unique and meaningful pack name is crucial for identifying the pack and its contents.

PA109

Validates the metadata description field isn't empty and is different from the default value.

A meaningful description helps users understand what the pack does.

PA111

Validates that the required metadata fields are not empty.

The following metadata fields are required: keywords, tags, categories, and useCases. These fields support pack identification and searchability.

PA113

Validates a partner or developer pack has an email or a url field completed.

Packs with partner or developer support levels require a contact method (email or URL) for user support and information.

PA114

Checks that the pack_metadata currentVersion is incremented when relevant changes are made.

When a pack is updated, its version must be updated to maintain traceability.

PA115

Validates the pack_metadata created field is in ISO 8601 format.

Required by the platform.

Yes

PA117

Validates the pack's support field is valid.

See the list of valid support levels.

PA118

Validates the metadata's certification field is valid.

See list of allowed certifications in the platform.

PA119

Validates the metadata's useCases field contains only valid values.

See the list of allowed useCases in the platform.

Yes

PA120

Validates the metadata's tags field includes only approved tags.

Using approved tags makes it easier for users to find the packs that suit their needs.

Yes

PA121

Validates no changes were made to the pack's price field.

Changing this field affects paying customers. In the demisto/content repository, this requires a force-merge.

Yes

PA123

Validates the pack has at least one of the following: playbook, incident type, or layout if the tags field contains the Use Case tag.

Correct categorization helps users find packs that suit their needs.

Yes

PA124

Validates core packs do not depend on non-core packs.

Core packs should be self-contained.

PA125

Validates that the pack name follows the naming conventions.

Pack names should follow conventions for consistency and readability in the marketplace.

PA127

Validates the pack_metadata contains a valid url field.

URLs help users access support or report issues for the pack directly. For more information, see the fields in the pack_metadata.json file.

Yes

PA128

Checks for required pack files.

These files are standard in the demisto/content repository.

Yes

PA130

Validates the pack_metadata currentVersion field is in a valid format.

Content versions use semantic versioning to indicate the significance of the changes between two versions.

PA131

Validates the pack_metadata contains a defaultDataSource if there is more than one data source.

Wizards and other tools require the default data source to be set.

Yes

PA132

Checks that the pack_metadata contains a valid defaultDataSource when provided.

Wizards and other tools require the default data source to be set.

Yes

PB: Playbook
Code
Description
Rationale
Autofixable

PB100

Checks whether the playbook has a role name. If the Playbook has a role name it is not valid.

Playbooks out-of-the-box should not have a role set since this is customizable by the customer.

PB101

Checks whether an ask conditional has a task with an unreachable next task condition.

If the condition cannot be reached the playbook cannot proceed to the next task.

PB103

Checks whether there is an unconnected task.

Ensure there are no unconnected tasks so the playbook will work as expected.

PB104

Checks whether a deprecated playbook has a valid description.

Ensures deprecated content descriptions are consistent.

PB105

Checks whether the playbook has a DeleteContext script with all arguments set to Yes.

Playbooks with a DeleteContext script with all arguments set to Yes are not valid.

PB106

Checks whether the playbook uses an instance.

If a playbook uses a specific instance it can leads to errors because not all the users have the same instance.

Yes

PB108

Checks that the task ID and the id under the task field are in UUID format.

Each task should have a unique ID in UUID format to avoid unknown behavior and breaking the playbook.

PB109

Checks that the taskid field and the id field under the task field contain equal values.

System requirements

PB114

Validates that playbooks for indicator types are on quiet mode.

Playbooks for indicators typically execute on thousands of indicators so they need to be on quiet mode.

Yes

PB115

Checks whether the quietmode field of all tasks in a playbook are not set to the default value.

Confirms whether quiet mode is turned off.

Yes

PB116

Checks that all playbook tasks stop when encountering an error.

For indicator playbooks, tasks typically execute on thousands of indicators. If a playbook task does not stop on errors, instances can crash and tasks relying on its output will fail.

PB118

Checks that all inputs described in the playbooks input section are used in tasks.

Depending on the task type that you select, and the script that you are running, your playbook task has inputs and outputs.

Inputs are data pieces that are present in the playbook or task. The inputs are often manipulated or enriched and they produce outputs. Outputs are objects whose entries will serve the tasks throughout the playbook, and they can be derived from the result of a task or command.

For more information, see Playbook inputs and outputs.

For more information, see Playbook inputs and outputs.

PB119

Checks that all inputs used are defined.

Inputs that are used but not provided to a playbook is probably an oversight.

PB122

Checks whether branches of built-in conditional tasks are handled properly.

Ensures the playbook logic is correct.

PB123

Checks whether an ask conditional has unhandled reply options.

Ensures the reply options are handled.

PB124

Checks that all conditional tasks contain at least two next tasks.

Ensure unhandled cases are note missed in a playbook.

PB125

Checks that a conditional task does not have only a default next task.

Ensures a conditional task has next tasks more than just the default next task so it implements different conditions.

PB126

Checks that conditional tasks have an execution path besides for the default.

Ensures that conditional tasks have more execution paths than just the default path so they implement different conditions.

PB127

Checks that any YAML keys that are Marketplace only have a default non-Marketplace counterpart.

To validate the existence of required YAML keys, we need to make sure that in addition to a specific Marketplace key (for example mykey:xsoar) there is also a basic key with no specific Marketplace (for example: mykey).

Yes

PR: Parsing rule
Code
Description
Rationale

PR101

Checks that the id and name in the parsing rule end with the correct suffixes.

To prevent confusion caused by ambiguous naming of modeling and parsing rules in the Cortex XSIAM UI, this validation ensures that the rule id ends with ParsingRule and the name ends with Parsing Rule. This helps avoid naming conflicts and improves clarity in release notes.

RM: Readme
Code
Description
Rationale

RM100

Checks that no default section contains only a heading.

Ensures that there are no default leftovers such as:

  • Non-specific version numbers.

  • Default description belonging to one of the example integrations.

RM101

Checks that image paths are not absolute, and suggests a valid path when an absolute path is found.

In official Marketplace content, ensures that the images can be used properly in the upload flow.

RM102

Validates that all context outputs defined in the README file are present in the YAML file, and vice versa.

Ensures consistency between the README and YAML files to maintain accurate documentation and prevent discrepancies.

RM104

Validates that the pack contains a full README file with pack information.

Meaningful, complete documentation makes it easier for users to use the content.

RM105

Checks that the README file differs from the pack description.

An informative README helps users learn about the product and its use cases.

RM106

Validates none of the README file lines contain the word demisto.

Ensures that the current name of the product is used rather than the old one.

RM107

Checks that the generic placeholder does not appear in the README file.

Ensures that the placeholder text is replaced before the content is published.

RM108

Verifies that images references in the README and description files are relative and that the images are stored in the doc_files folder.

Using relative references to files in the repository folder enhances security by reducing reliance on external links, minimizing the risk of link manipulation or redirection attacks.

RM109

Validates that a README file exists for the content item.

Ensures that the content item is documented with use cases, inputs, and outputs.

RM110

Validates that all commands are documented in the README file.

Ensures that all commands are documented in the README file to help users understand the available functionality.

RM113

Checks that none of the README lines contain the disallowed copyright section keywords.

Marketplace content is licensed under the MIT license, so pack-specific copyright notices are not permitted.

RM114

Validates that images in the README file exist in the doc_files folder.

Images that are missing from the doc_files folder do not render in the published Markdown.

RM115

Checks that no default auto-generated sections remain empty.

Ensures that there are no default leftovers such as:

  • Non-specific version numbers.

  • Default description belonging to one of the example integrations.

RM116

Validates that the README file is not too short.

Ensures that the README file contains sufficient information.

RN: Release notes
Code
Description
Rationale

RN103

Validates that the pack contains a complete release notes file.

Meaningful, complete release notes make it easier for users to understand what changed.

RN105

Checks that there is no more than one added release notes file for each pack version.

More than one release notes file for a version may cause confusion and missing information.

RN108

Validates that a new pack does not have release notes.

New packs do not require release notes because they do not have any updates.

RN112

Checks that breaking-change release notes exist for packs with breaking changes, and that they are documented correctly.

Breaking changes must be well documented so that users can see them when updating to a new version.

RN114

Validates that content types are documented as #### headings and content items as ##### headings in the release notes.

Ensures that the documentation is accurate and clear.

RN116

Validates that the release notes have either a valid first-level heading or a valid force heading.

Enforces a proper release notes structure to ensure that the documentation is readable.

RP: Reputation (indicator type)
Code
Description
Rationale

RP101

Validates that the expiration field has a non-negative integer value.

Aligns with the platform requirements. A negative expiration value is not supported by the platform.

RP102

Validates that the id and details fields are equal.

The platform requires the id and details values to match.

RP103

Validates that the indicator type id field has a valid value.

Ensures that the indicator type id matches a defined indicator type.

SC: Script
Code
Description
Rationale
Autofixable

SC100

Checks that the script name is versioned correctly and ends with V<number>.

Ensures consistency across content items.

Yes

SC105

Checks that the script arguments in core packs do not contain the word incident.

In Cortex, the word incident can be replaced by another keyword. To ensure compatibility with this feature, command names, command arguments, and script arguments in core packs and scripts must not use the word incident. This maintains the flexibility of the system and prevents potential issues caused by keyword replacement.

SC106

Checks that the script runas field is not set to DBotRole.

For security reasons, the runas field should not be set to DBotRole.

SC109

Validates that there are no scripts with the same type and name.

Duplicate names cause confusion and unpredictable behavior.

ST: Structure
Code
Description
Rationale

ST110

Validates that the schema structure conforms to the required format.

Ensures that content items have a valid structure.

Last updated

Was this helpful?