TIPCommon.base

TIPCommon.base.action.action_parser.parse_case_attachment

TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment

Analiza un adjunto JSON y devuelve un objeto CaseAttachment.

Parámetros

Parámetros
attachment Es un objeto JSON de respuesta que representa el adjunto.

Devoluciones

Es el objeto CaseAttachment analizado.

Tipo de datos que se muestra

CaseAttachment

TIPCommon.base.action.action_parser.parse_case_comment

TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment

Analiza un comentario en formato JSON y devuelve un objeto CaseComment.

Parámetros

Parámetros
comment Es un objeto JSON de respuesta que representa el comentario.

Devoluciones

Es el objeto CaseComment analizado.

Tipo de datos que se muestra

CaseComment

class TIPCommon.base.action.base_action.Action

clase TIPCommon.base.action.base_action.Action(name: str)

Bases: ABC, Generic[ApiClient]

Es una implementación de infraestructura genérica unificada para el desarrollo de acciones de Google SecOps.

La clase base Action proporciona métodos abstractos de plantilla para anular en las clases de acción heredadas, propiedades genéricas y flujos generales como métodos que se ejecutan cuando se llama al método run de la acción.

Parámetros

Parámetros
name str

Es el nombre de la secuencia de comandos de la acción.

Atributos

Atributos
_soar_action Es el objeto del SDK de SiemplifyAction.

Tipo: SiemplifyAction

_api_client Es el cliente de API de la integración.

Tipo: Apiable

_name Es el nombre de la secuencia de comandos que usa esta acción.

Tipo: str

_action_start_time Es la hora de inicio de la acción.

Tipo: int

_logger Es el objeto de registro que se usa para registrar acciones.

Tipo: SiemplifyLogger

_params Es el contenedor de parámetros de esta acción.

Tipo: Container

global_context Es un diccionario para almacenar el contexto, si es necesario.

Tipo: dict

_entity_types Son los tipos de entidades que admite la acción.

Tipo: list[EntityTypesEnum]

_entities_to_update Son las entidades que se actualizarán cuando finalice la acción.

Tipo: list[Entity]

json_results Son los resultados en formato JSON de la acción.

Tipo: JSON

_attachments Son los archivos adjuntos del resultado del caso que se agregarán.

Tipo: list[Attachment]

_contents Es el contenido del resultado del caso que se agregará.

Tipo: list[Content]

_data_tables Son las tablas de datos de resultados de casos que se agregarán.

Tipo: list[DataTable]

_html_reports Informes HTML de los resultados del caso que se agregarán.

Tipo: list[HTMLReport]

Son los vínculos de los resultados del caso que se agregarán.

Tipo: list[Link]

_entity_insights Son las estadísticas de la entidad del caso que se agregarán.

Tipo: list[EntityInsight]

_case_insights Son las estadísticas del caso que se agregarán.

Tipo: list[CaseInsight]

_execution_state Es el estado de ejecución final de la acción.

Tipo: ExecutionState

_result_value Es el valor del resultado final de la acción.

Tipo: bool

_output_message Es el mensaje de salida de la acción cuando se completa correctamente.

Tipo: str

_error_output_message Es el mensaje de salida de la acción cuando falla.

Tipo: str

Métodos

- run() Ejecuta la acción.
- _get_adjusted_json_results() Ajusta el resultado JSON a una estructura en particular.

Métodos abstractos

Métodos abstractos
_validate_params() Valida los parámetros de esta acción.
_init_managers() Inicializa y devuelve un objeto de administrador.
_perform_action() Realiza la lógica principal de la acción.

Métodos adicionales

Estos son métodos que se llaman durante la ejecución de la acción y afectan la fase de procesamiento de alertas, pero no es obligatorio anularlos.

  • _get_entity_types()
  • _finalize_action_on_success()
  • _finalize_action_on_failure()
  • _on_entity_failure()
  • _handle_timeout()
  • _extract_action_parameters()
  • _finalize()

Métodos de wrapper del SDK

  • _add_attachment_to_current_case()
  • _get_current_case_attachments()
  • _add_comment_to_case()
  • _get_current_case_comments()
  • _assign_case_to_user()
  • _add_tag_to_case()
  • _attach_playbook_to_current_alert()
  • _get_similar_cases_to_current_case()
  • _get_alerts_ticket_ids_from_cases_closed_since_timestamp()
  • _change_current_case_stage()
  • _change_current_case_priority()
  • _close_current_case()
  • _close_alert()
  • _escalate_case()
  • _mark_case_as_important()
  • _raise_incident()
  • _add_entity_to_case()
  • _update_alerts_additional_data()
  • _get_current_integration_configuration()
  • _any_alert_entities_in_custom_list()
  • _add_alert_entities_to_custom_list()
  • _remove_alert_entities_from_custom_list()

Ejemplo

from TIPCommon.base.actions.action_base import Action
from TIPCommon.validation import ParameterValidator

SOME_ACTION_SCRIPT_NAME = 'Some Integration - Some Action'

class SomeAction(Action):

    def _validate_params(self) -> None:
        validator = ParameterValidator(self.soar_action)
        ...  # validation logic

    def _perform_action(self, entity: Entity) -> None:
        try:
            self.logger.info('Querying Api client')
            data = self.api_client.do_something(
                param=self.params.query,
                entity=entity.original_identifier
            )

            ...  # Some logic to process the data

        except SomeCustomException as err:
            self.error_output_message = (
                "Action wasn't able to successfully do its thing."

            )
            raise err from err


def main() -> None:
    SomeAction(SEARCH_GRAPHS_SCRIPT_NAME).run()


if __name__ == '__main__':
    main()

property action_start_time

property action_start_time: int

Devuelve un int que representa la hora de inicio de la acción en Unix.

property api_client

propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Devuelve un objeto Apiable.

Archivos adjuntos de propiedades

property attachments: list[Attachment]

De forma predeterminada, todos los archivos adjuntos de la lista se envían al resultado del caso.

Devuelve una lista de objetos Attachment que representan las estadísticas de este caso.

property de case_insights

property case_insights: list[CaseInsight]

De forma predeterminada, todas las estadísticas del caso de la lista se envían al resultado del caso.

Devuelve una lista de objetos CaseInsight que representan las estadísticas de este caso.

Contenido de la propiedad

property contents: list[Content]

De forma predeterminada, todo el contenido de la lista se envía al resultado del caso.

Devuelve una lista de objetos Content que representan las estadísticas de este caso.

property data_tables

property data_tables: list[DataTable]

De forma predeterminada, todas las tablas de datos de la lista se envían al resultado del caso.

Devuelve una lista de objetos DataTable que representan las estadísticas de este caso.

property entities_to_update

property entities_to_update: list[DomainEntityInfo]

Todas las entidades de la lista se envían a la plataforma para su actualización.

Devuelve una lista de objetos Entity que representan las entidades que se deben actualizar en el caso.

Entidad property de entity_insights

property entity_insights: list[EntityInsight]

De forma predeterminada, todas las estadísticas de entidades de la lista se envían al resultado del caso.

Devuelve una lista de objetos EntityInsight que representan las estadísticas de este caso.

property entity_types

property entity_types: list[EntityTypesEnum]

Si la acción funciona con entidades, solo procesa aquellas cuyo tipo se encuentra en la lista entity_types. De lo contrario, la acción omite la entidad.

Devuelve una lista de objetos EntityTypesEnum que representan los tipos de entidades que la acción puede procesar.

property error_output_message

property error_output_message: str

Es el mensaje de salida de la acción en caso de que falle la ejecución.

Es un mensaje de salida que debería aparecer en caso de que se produzca un error durante el tiempo de ejecución de la acción. El valor predeterminado es ActionSCRIPT_NAMEfailed.

property execution_state

property execution_state: ExecutionState

Es el estado de ejecución de la acción, un indicador de estado representado por un número entero que se devuelve a la plataforma.

Estos son los estados posibles:

  • ExecutionState.COMPLETED = 0
  • ExecutionState.IN_PROGRESS = 1
  • ExecutionState.FAILED = 2
  • ExecutionState.TIMED_OUT = 3

Devuelve el objeto ExecutionState que representa el estado de ejecución actual.

property html_reports

property html_reports: list[HTMLReport]

De forma predeterminada, todos los informes en HTML de la lista se enviarán al resultado del caso.

Devuelve una lista de objetos HTMLReport que representan las estadísticas de este caso.

property is_first_run

property is_first_run: bool

Indica si es la primera ejecución.

Se muestra lo siguiente:

True si es la primera ejecución; de lo contrario, False.

property json_results

property json_results: Dict[str, Any] | List[Dict[str, Any]]

Devuelve el resultado JSON de la acción que se enviará al muro del caso.

property links: list[Link]

De forma predeterminada, todos los vínculos de la lista se enviarán al resultado del caso.

Devuelve una lista de objetos Link que representan las estadísticas de este caso.

Registrador de property

property logger: NewLineLogger

Devuelve el objeto NewLineLogger para las acciones.

Nombre de la propiedad

property name: str

property output_message

property output_message: str

Es el mensaje de salida de la acción en caso de que se ejecute correctamente.

Es el mensaje de salida que resume el resultado de la acción.

Parámetros de property

property params: [Container]

Devuelve un objeto Container que describe los parámetros de la acción, con cada parámetro expuesto como un atributo snake_case.

property result_value

property result_value: bool

Es el valor del resultado de la acción que se devolverá a la plataforma.

Valores posibles:

  • True: Action Succeeded
  • False: No se pudo realizar la acción

property soar_action

property soar_action: SiemplifyAction

Devuelve el objeto SiemplifyAction del SDK.

class TIPCommon.base.action.base_enrich_action.EnrichAction

clase TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)

Bases: Action

Clase que representa una acción de enriquecimiento de entidades.

Esta clase hereda de la clase TIPCommon.base.actions.base_action::Action.

Parámetros

Parámetros
name str

Es el nombre de la acción.

Atributos

Atributos
enrichment_data

Este atributo contiene los datos de enriquecimiento de la entidad actual en cada una de las iteraciones de la entidad. Al final de cada iteración, el atributo additional_properties de la entidad se actualiza con self.enrichment_data, lo que significa que este valor se establece cada vez con el valor nuevo.

Tipo: dict

entity_results Son los resultados de la entidad incluidos en el resultado JSON de este objeto.

Tipo: Cualquiera

global_context

Es un diccionario para almacenar el contexto si es necesario.

Tipo: dict

Métodos abstractos

Métodos abstractos
_get_entity_types() Obtiene el tipo de entidades en las que se ejecuta la acción.
_perform_enrich_action() Realiza la lógica de enriquecimiento principal en una entidad.

Métodos privados

Métodos privados
_perform_action()

Este método combina los otros métodos abstractos con más lógica de enriquecimiento lista para usar y la pasa a la clase principal para usarla en el método start().

class TIPCommon.base.action.data_models.ActionParamType

clase TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • BOOLEAN = 1

  • CASE_PRIORITIES = 7

  • CLOSE_CASE_REASONS = 5

  • CLOSE_ROOT_CAUSE = 6

  • CODE = 20

  • CONTENT = 11

  • DDL = 15

  • EMAIL_CONTENT = 10

  • ENTITY_TYPE = 13

  • MULTI_VALUES = 14

  • NULL = -1

  • PASSWORD = 12

  • PLAYBOOK_NAME = 2

  • STAGE = 4

  • STRING = 0

  • USER = 3

class TIPCommon.base.action.data_models.Attachment

clase TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)

Bases: object

Es un adjunto de resultado de secuencia de comandos de acción.

Esta clase es inmutable: una vez creada, sus atributos no se pueden modificar. Admite el hashing (por ejemplo, para usar en conjuntos o como claves de diccionario) y la comparación de igualdad con el operador ==.

Atributos

Atributos
title Es el título del archivo adjunto.

Tipo: str | None

filename Nombre del archivo adjunto.

Tipo: str

file_contents Es el contenido del archivo adjunto.

Tipo: bytes

additional_data Son datos adicionales.

Tipo: dict | None

class TIPCommon.base.action.data_models.CaseAttachment

clase TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)

Bases: object

Es un accesorio para el estuche.

Esta clase es inmutable; después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
attachment_id int

Es el ID del archivo adjunto.

attachment_type str

Es el tipo de archivo adjunto.

description str

Es la descripción del adjunto.

is_favorite bool

Indica si el adjunto está marcado como favorito.

class TIPCommon.base.action.data_models.CaseComment

clase TIPCommon.base.action.data_models.CaseComment(comment: str, creator_user_id: str, comment_id: int, comment_type: int, case_id: int, is_favorite: bool, modification_time_unix_time_in_ms: int, creation_time_unix_time_in_ms: int, alert_identifier: str, creator_full_name: str | None = None, is_deleted: bool | None = None, last_editor: str | None = None, last_editor_full_name: str | None = None, modification_time_unix_time_in_ms_for_client: int | None = None, comment_for_client: str | None = None)

Bases: object

Es un comentario del caso.

Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
comment str

El comentario.

comment_for_client str | None

Es el comentario para el cliente.

modification_time_unix_time_in_ms_for_client int

Es la hora de modificación de comment_for_client.

last_editor str

ID del último editor, como 77bdb7a4-8484-481d-9482-2449e33f9518.

last_editor_full_name str

Nombre completo del usuario del último editor, como admin admin.

is_deleted bool

Indica si el comentario ya se borró.

creator_user_id str

ID de usuario del creador, como 77bdb7a4-8484-481d-9482-2449e33f9518.

creator_full_name str

Nombre completo del creador, como System.

comment_id int

Es el ID del comentario.

comment_type int

Es el tipo de comentario.

case_id int

Es el ID del caso.

is_favorite bool

Indica si el comentario está marcado como favorito.

modification_time_unix_time_in_ms int

Hora de la última modificación del comentario en formato Unix, como 1686040471269.

creation_time_unix_time_in_ms int

Es la fecha y hora de creación del comentario en formato Unix, como 1686040471269.

alert_identifier str

Es el identificador de la alerta, como SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E.

class TIPCommon.base.action.data_models.CaseInsight

clase TIPCommon.base.action.data_models.CaseInsight(triggered_by: str, title: str, content: str, severity: InsightSeverity, insight_type: InsightType, entity_identifier: str = '', additional_data: Any | None = None, additional_data_type: Any | None = None, additional_data_title: str | None = None)

Bases: object

Es una estadística del caso.

Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str

Es el título de la estadística.

triggered_by str

Nombre de la integración.

content str

Es el mensaje de la estadística.

severity InsightSeverity

Es la gravedad de la estadística. Los valores posibles son:

  • info
  • warning
  • error
insight_type InsightType

Es el tipo de estadística. Los valores posibles son:

  • general
  • entity
entity_identifier str | None

Es el identificador de la entidad.

additional_data Any | None

Son datos adicionales.

additional_data_type Any | None

Es el tipo de datos adicionales.

additional_data_title str | None

Es el título de los datos adicionales.

class TIPCommon.base.action.data_models.CasePriority

clase TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIONAL = 0

  • LOW = 40

  • MEDIUM = 60

class TIPCommon.base.action.data_models.CaseStage

clase TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • ASSESSMENT = 'Assessment'

  • IMPROVEMENT = 'Improvement'

  • INCIDENT = 'Incident'

  • INVESTIGATION = 'Investigation'

  • RESEARCH = 'Research'

  • TRIAGE = 'Triage'

class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses

clase TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • NO_CLEAR_CONCLUSION = 'No clear conclusion'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses

clase TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • LAB_TEST = 'Lab test'

  • OTHER = 'Other'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses

clase TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • EXTERNAL_ATTACK = 'External attack'

  • INFRASTRUCTURE_ISSUE = 'Infrastructure issue'

  • IRRELEVANT_TCP_UDP_PORT = 'Irrelevant TCP/UDP port'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • OTHER = 'Other'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • SYSTEM_APPLICATION_MALFUNCTION = 'System/application malfunction'

  • SYSTEM_CLOCKED_THE_ATTACK = 'System blocked the attack'

  • UNFORESEEN_EFFECTS_OF_CHANGE = 'Unforeseen effects of change'

  • UNKNOWN = 'Unknown'

class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses

clase TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • EMPLOYEE_ERROR = 'Employee error'

  • HUMAN_ERROR = 'Human error'

  • LAB_TEST = 'Lab test'

  • LEGIT_ACTION = 'Legit action'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • NONE = 'None'

  • NORMAL_BEHAVIOR = 'Normal behavior'

  • OTHER = 'Other'

  • PENETRATION_TEST = 'Penetration test'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • UNKNOWN = 'Unknown'

  • USER_MISTAKE = 'User mistake'

class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons

clase TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

### Constantes

  • INCONCLUSIVE = 3

  • MAINTENANCE = 2

  • MALICIOUS = 0

  • NOT_MALICIOUS = 1

class TIPCommon.base.action.data_models.Content

clase TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')

Bases: object

Es el contenido del resultado de una secuencia de comandos de acción.

Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

Es el título del contenido.

content str

Es el contenido que se agregará a los resultados de la secuencia de comandos.

class TIPCommon.base.action.data_models.DataTable

clase TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')

Bases: object

Es una tabla de datos de resultados de la secuencia de comandos de una acción.

Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

Es el título de la tabla.

data_table list[str]

Es una lista de filas CSV que construyen la tabla.

class TIPCommon.base.action.data_models.EntityInsight

clase TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)

Bases: object

Es una estadística de la entidad.

Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
entity Entity

Es el objeto de la entidad.

message str

Es el mensaje de la estadística.

triggered_by str | None

Nombre de la integración

original_requesting_user str | None

Es el usuario original.

class TIPCommon.base.action.data_models.EntityTypesEnum

clase TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • ADDRESS = 'ADDRESS'

  • ALERT = 'ALERT'

  • APPLICATION = 'APPLICATION'

  • CHILD_HASH = 'CHILDHASH'

  • CHILD_PROCESS = 'CHILDPROCESS'

  • CLUSTER = 'CLUSTER'

  • CONTAINER = 'CONTAINER'

  • CREDIT_CARD = 'CREDITCARD'

  • CVE = 'CVE'

  • CVE_ID = 'CVEID'

  • DATABASE = 'DATABASE'

  • DEPLOYMENT = 'DEPLOYMENT'

  • DESTINATION_DOMAIN = 'DESTINATIONDOMAIN'

  • DOMAIN = 'DOMAIN'

  • EMAIL_MESSAGE = 'EMAILSUBJECT'

  • EVENT = 'EVENT'

  • FILE_HASH = 'FILEHASH'

  • FILE_NAME = 'FILENAME'

  • GENERIC = 'GENERICENTITY'

  • HOST_NAME = 'HOSTNAME'

  • IP_SET = 'IPSET'

  • MAC_ADDRESS = 'MacAddress'

  • PARENT_HASH = 'PARENTHASH'

  • PARENT_PROCESS = 'PARENTPROCESS'

  • PHONE_NUMBER = 'PHONENUMBER'

  • POD = 'POD'

  • PROCESS = 'PROCESS'

  • SERVICE = 'SERVICE'

  • SOURCE_DOMAIN = 'SOURCEDOMAIN'

  • THREAT_ACTOR = 'THREATACTOR'

  • THREAT_CAMPAIGN = 'THREATCAMPAIGN'

  • THREAT_SIGNATURE = 'THREATSIGNATURE'

  • URL = 'DestinationURL'

  • USB = 'USB'

  • USER = 'USERUNIQNAME'

class TIPCommon.base.action.data_models.ExecutionState

clase TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • COMPLETED = 0

  • FAILED = 2

  • IN_PROGRESS = 1

  • TIMED_OUT = 3

class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter

clase TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])

Bases: object

Es un objeto de parámetro de secuencia de comandos general.

Atributos

Atributos
full_dict dict[str, Any]

Es el diccionario original que se recibió de la API.

id int | None

Es el ID del parámetro.

integration_identifier str

Es el identificador de la integración, como VirusTotalV3.

creation_time int

Es la fecha y hora en que se creó el parámetro.

modification_time int

Es la fecha y hora en la que se modificó el parámetro por última vez.

is_mandatory bool

Define si el parámetro es obligatorio o no.

description str | None

Es la descripción del parámetro.

name str

Es el nombre del parámetro.

display_name str

Es el nombre que se muestra del parámetro.

value Any

Es el valor predeterminado del parámetro.

type IntegrationParamType

El tipo del parámetro.

optional_values list

Es un DDL de valores opcionales para el DDL de tipo.

class TIPCommon.base.action.data_models.HTMLReport

clase TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')

Bases: object

Es un vínculo de acción y resultado de secuencia de comandos.

Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

Es el título del vínculo.

report_name str

Es el nombre del informe.

report_contents str

Es el contenido HTML del informe.

class TIPCommon.base.action.data_models.IntegrationParamType

clase TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • BOOLEAN = 0

  • EMAIL = 8

  • INTEGER = 1

  • IP = 4

  • NULL = -1

  • PASSWORD = 3

  • STRING = 2

clase TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')

Bases: object

Es un vínculo de acción y resultado de secuencia de comandos.

Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

Es el título del vínculo.

link str

Es el vínculo.

class TIPCommon.base.action.data_models.ScriptParameter

clase TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]

Bases: object

Es un objeto de parámetro de secuencia de comandos general.

Atributos

Atributos
full_dict dict[str, Any]

Es el diccionario original que se recibió de la API.

id int | None

Es el ID del parámetro.

creation_time int

Fecha y hora en que se creó el parámetro.

modification_time int

Fecha y hora en que se modificó el parámetro por última vez.

custom_action_id int | None

Es el ID de la acción.

is_mandatory bool

Indica si el parámetro es obligatorio o no.

default_value Any

Es el valor predeterminado del parámetro.

Este parámetro tiene prioridad sobre el parámetro value en los playbooks.

description str | None

Es la descripción del parámetro.

name str | None

Es el nombre del parámetro.

value Any

El valor del parámetro.

Este valor tiene prioridad sobre el parámetro default_value en las acciones manuales.

type ActionParamType

El tipo del parámetro.

optional_values list

DDL de los valores opcionales para el DDL de tipo.

class TIPCommon.base.interfaces.apiable.Apiable

clase TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)

Bases: ABC, Generic[ApiParams]

Es una interfaz para las clases que administran llamadas a la API de servicios externos.

class TIPCommon.base.interfaces.authable.Authable

clase TIPCommon.base.interfaces.authable.Authable

Bases: ABC, Generic[AuthParams]

Es una interfaz para las clases que administran la autenticación con servicios externos.

Métodos abstractos

Métodos abstractos
authenticat_session(params: Authparams) → None Autentica el atributo self.session de la clase con params.

Este método te autentica en el servicio con el que interactúa la sesión después de crear un objeto con esa sesión.

Atributos

Atributos
params object, dataclass, TypedDict, namedtuple o cualquier elemento que contenga todos los parámetros de autenticación

Son los parámetros de autenticación.

class TIPCommon.base.interfaces.logger.Logger

clase TIPCommon.base.interfaces.logger.Logger

Bases: ABC

Es una interfaz de registrador diseñada para las secuencias de comandos del mercado que verifica la compatibilidad cuando se reemplaza o simula el registrador pasado.

Métodos abstractos

Métodos abstractos
debug(msg: str, *args, **kwargs) → None Registra un mensaje de depuración.
error(error_msg: str, *args, **kwargs) → None Registra un mensaje de error.
exception(ex: Exception, *args, **kwargs) → None Registra un mensaje de excepción.
info(msg: str, *args, **kwargs) → None Registra un mensaje informativo.
warn(warning_msg: str, *args, **kwargs) → None Registra un mensaje de advertencia.

class TIPCommon.base.interfaces.session.Session

clase TIPCommon.base.interfaces.session.Session

Bases: ABC, Generic[_R]

Esta clase administra las sesiones de la API con un objeto de sesión. Admite varios tipos de sesiones y simulaciones con bibliotecas como requests o httpx.

Atributos

Atributos
headers dict
verify bool

Métodos abstractos

Métodos abstractos
delete(url: str, *args, **kwargs)→ _R Borra un recurso del servidor.
get(url: str, *args, **kwargs)→ _R Obtiene un recurso del servidor.
patch(url: str, *args, **kwargs) → _R Aplica parches a un recurso en el servidor.
post(url: str, *args, **kwargs) → _R Publica un recurso en el servidor.
put(url: str, *args, **kwargs) → _R Coloca (actualiza o crea) un recurso en el servidor.
request(method: str, *args, **kwargs) → _R Realiza una solicitud al servidor.

class TIPCommon.base.job.base_job.Job

clase TIPCommon.base.job.base_job.Job(name: str)

Bases: ABC, Generic[ApiClient]

Es una clase que representa una secuencia de comandos de trabajo en SOAR de Google Security Operations.

Métodos

  • start(**kwargs) → None

property api_client

property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Proporciona el cliente o los clientes de API para interactuar con servicios externos.

property error_msg

property error_msg: str

Almacena cualquier mensaje de error que se encuentre durante la ejecución del trabajo.

property job_start_time

property job_start_time: int

Representa la marca de tiempo en la que comenzó el trabajo.

Registrador de property

property logger: ScriptLogger

Proporciona la funcionalidad de registro para la secuencia de comandos del trabajo.

Nombre de la propiedad

property name: str

Contiene el nombre de la secuencia de comandos del trabajo.

Parámetros de property

property params: Container

Contiene los parámetros de configuración proporcionados al trabajo.

property soar_job

property soar_job: SiemplifyJob

Representa la instancia subyacente del trabajo de SOAR de Google Security Operations.

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

clase TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)

Bases: Job, Generic[ApiClient]

En esta sección, se describen los métodos de ciclo de vida que influyen en el procesamiento de trabajos. Las subclases no están obligadas a anularlos.

property api_client

property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Contiene el cliente o los clientes de API que se usan para las interacciones de servicios externos.

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

clase TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)

Bases: tuple

Atributos

Atributos
success_list Es un alias para el número de campo 0.
failure_list Es un alias para el campo número 1.

TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value

TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value(param_name: str, param_csv_value: str | None, delimiter: str = ',') → list[str]

Valida y analiza un valor de parámetro separado por comas en una lista de elementos únicos. Esta función controla valores únicos, cadenas entre comillas y formatos mixtos.

Parámetros

Parámetros
param_name Es la clave del parámetro.
param_csv_value Es el valor del parámetro proporcionado en el parámetro job. Si es None, se devuelve una lista vacía.

Se genera el error

ValueError: Cuando el recuento de comillas dobles no es válido, algunos valores no son válidos o algunos valores tienen comillas dobles que no coinciden.

Devoluciones

Es una lista de valores únicos proporcionados en el parámetro del trabajo. Si no se encuentran valores válidos, se devuelve una lista vacía.

Tipo de datos que se muestra

list[str]

class TIPCommon.base.job.data_models.JobParameter

clase TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])

Bases: object

Es un objeto de parámetro de secuencia de comandos general.

Atributos

Atributos
full_dict dict[str, Any]

Es el diccionario original que se recibió de la API.

id int | None

Es el ID del parámetro.

is_mandatory bool

Define si el parámetro es obligatorio o no.

Nota: Este atributo tiene prioridad sobre value en los playbooks.

name str | None

Es el nombre del parámetro.

type ActionParamType

El tipo del parámetro.

value Any

Es el valor predeterminado del parámetro.

Nota: Este atributo tiene prioridad sobre default_value en las acciones manuales.

class TIPCommon.base.data_models.ActionJsonOutput

clase TIPCommon.base.data_models.ActionJsonOutput(title: 'str' = 'JsonResult', content: 'str' = '', type: 'str | None' = None, is_for_entity: 'bool' = False, json_result: 'JSON | None' = None)

Bases: object

Representa el resultado JSON estructurado de una acción.

class TIPCommon.base.data_models.ActionOutput

clase TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')

Bases: object

Representa la estructura de salida completa de una acción.

class TIPCommon.base.data_models.ConnectorJsonOutput

clase TIPCommon.base.data_models.ConnectorJsonOutput(alerts: 'list[AlertInfo | CaseInfo]', overflow_alerts: 'list[OverflowAlertDetails]' = <factory>, log_items: 'list' = <factory>, log_rows: 'list[str]' = <factory>, variables: 'dict' = <factory>)

Bases: object

Representa el resultado JSON estructurado de un conector.

class TIPCommon.base.data_models.ConnectorOutput

clase TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')

Bases: object

Representa la estructura de salida completa de un conector.

TIPCommon.base.data_models.alert_info_from_json

TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo

Crea un objeto AlertInfo a partir de un JSON de atributos.

Devoluciones

Es el objeto AlertInfo creado.

Tipo de datos que se muestra

AlertInfo

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.