Simple Detection Error Codes

Troubleshoot Simple Detections errors

Overview

This functionality, as part of the Simple Detections feature set, is in closed beta starting with Panther version 1.81. To request access to the feature or share any bug reports or feature requests, please contact your Panther support team.

Error codes from the Simple Detections model are stable, meaning they do not change over time and are formatted consistently.

Error codes have 10 characters, and each character group represents something different. To demonstrate this, take the error code SD00100001. It is broken down as follows:

  • First and second characters: Always SD

  • Third, fourth, and fifth characters: Represent the category: 001 - general

  • Sixth through tenth characters: Unique error code: 00001 - no rule specified

001 errors: general

Error code
Description

SD00100001

This error code is returned when a rule is not specified in the provided Simple Detections YAML. For example, if a Simple Detections YAML file has a top level key of Detection but there's no content under it.

SD00100002

This error code is returned when a file could not be read at the specified path.

SD00100003

This error code is returned when an unexpected type is encountered. This usually happens when you try to use a Condition like IsLessThanOrEquals with a non-numeric value.

SD00100004

This error code is returned when a Condition expected an integer value but got something else.

SD00100005

This error code is returned when a Condition expected a float value but got something else.

SD00100006

This error code is returned when a Condition expected a boolean value but got something else.

SD00100007

This error code is returned when a Condition expected a string value but got something else.

002 errors: unmarshaler

Error code
Description

SD00200001

This error code is returned when a YAML file could not be unmarshaled. This most often occurs when the YAML file is malformed.

SD00200002

SD00200003

SD00200004

This error code is returned when the YAML match expression for an existence Condition is malformed. Usually, this occurs when a Value or Values key is specified in the YAML:

SD00200005

This error code is returned when, after we finish unmarshaling the YAML, the resulting struct is invalid. Simple Detections runs a number of validations at this stage, including:

  • Validation that a specified KeyPath is using valid syntax

  • Validation that a specified Key is using valid syntax

003 errors: core

Error code
Description

SD00300001

This error is returned when a Simple Detection Rule Data Model could not be created. Most commonly, this will be a catch all for less specific errors. Check the "Inner Error" for additional details.

SD00300002

This error is returned when a Simple Detection Filter Data Model could not be created. Most commonly, this will be a catch all for less specific errors. Check the "Inner Error" for additional details.

SD00300003

This error is returned when Simple Detections was able to unmarshal the provided YAML but was unable to create a valid Simple Detections data model. This error should rarely occur, but if it does, it is likely due to a bug in the Simple Detections data models.

SD00300004

  • Existence conditions:

  • Absolute conditions:

    • only a Condition is provided

  • Scalar conditions:

  • List conditions:

    • Condition and Values are provided

  • List comprehension conditions:

    • Expressions contains:

      • One or more nested list comprehensions, i.e., a list comprehension calling another list comprehension

      • One or more simpler (i.e., not list comprehension) match expressions

SD00300005

SD00300006

This error code is returned when a Simple Detection GroupBy Data Model could not be created. Most commonly, this will be a catch all for less specific errors. Check the "Inner Error" for additional details.

SD00300007

  • A dynamic severity is specified

    • List comprehensions are not allowed in InlineFilters

SD00300008

This error code is returned when a Simple Detection Alert Context Data Model could not be created. Most commonly, this will be a catch all for less specific errors. Check the "Inner Error" for additional details.

SD00300009

  • A minimum of one (1) key/value pair is provided if AlertContext is specified

SD00300010

This error code is returned when Simple Detections was unable to validate the provided AlertTitle. Validations that are run on the AlertTitle include:

  • The AlertTitle is not empty

SD00300011

This error code is returned when a Simple Detection AlertTitle Data Model could not be created. Most commonly, this will be a catch all for less specific errors. Check the "Inner Error" for additional details.

SD00300012

This error code is returned when a Simple Detection Dynamic Severities Data Model could not be created. Most commonly, this will be a catch all for less specific errors. Check the "Inner Error" for additional details.

SD00300013

This error code is returned when a Dynamic Severity is specified but has no conditions:

SD00300014

This error code is returned when Simple Detections was able to create the Dynamic Severities Data Model, but was unable to validate it. Validations that are run on the Dynamic Severities include:

  • If DynamicSeverities is specified, at least one Dynamic Severity is specified

  • No list comprehensions are used in the Conditions

  • No Absolute Conditions are used in the Conditions

004 errors: transpiler

Error code
Description

SD00400001

SD00400002

SD00400003

SD00400004

This error code is returned when a Match Expression is not yet supported for transpilation to Python. This is unlikely to occur and is probably a bug in Simple Detections.

005 errors: filters

Error code
Description

SD00500001

Inline Filters only support the following conditions:

  • Equals

  • DoesNotEqual

  • IsGreaterThan

  • IsGreaterThanOrEquals

  • IsLessThan

  • IsLessThanOrEquals

  • Contains

  • DoesNotContain

  • StartsWith

  • EndsWith

  • IsIPAddressInCIDR

  • IsIPAddressNotInCIDR

  • CIDRContainsIPAddresses

  • CIDRDoesNotContainIPAddresses

  • IsIn

  • IsNotIn

  • IsIPAddressPublic

  • IsIPAddressPrivate

  • IsNullOrEmpty

  • IsNotNullOrEmpty

Inline Filters only support the following Match Expression forms:

SD00500002

Last updated

#1924: [don't merge until ~Oct] Notion Logs (Beta)

Change request updated