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 archivo adjunto JSON y devuelve un objeto CaseAttachment.

Parámetros

Parámetros
attachment Un objeto JSON de respuesta que representa el archivo adjunto.

Devoluciones

El objeto CaseAttachment analizado.

Tipo de devolución

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 JSON y devuelve un objeto CaseComment.

Parámetros

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

Devoluciones

El objeto CaseComment analizado.

Tipo de devolución

CaseComment

clase TIPCommon.base.action.base_action.Action

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

Bases: ABC, Generic[ApiClient]

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 que se pueden anular en las clases de acción heredadas, propiedades genéricas y flujos generales como métodos que se ejecutan al llamar al método run de la acción.

Parámetros

Parámetros
name str

Nombre de la secuencia de comandos de la acción.

Atributos

Atributos
_soar_action El objeto SiemplifyAction del SDK.

Tipo: SiemplifyAction

_api_client El cliente de la API de la integración.

Tipo: Apiable

_name Nombre de la secuencia de comandos que usa esta acción.

Tipo: str

_action_start_time La hora de inicio de la acción.

Tipo: int

_logger Objeto de registro que se usa para registrar acciones.

Tipo: SiemplifyLogger

_params Contenedor de parámetros de esta acción.

Tipo: Container

global_context Un diccionario para almacenar el contexto, si es necesario.

Tipo: dict

_entity_types Los tipos de entidad admitidos por la acción.

Tipo: list[EntityTypesEnum]

_entities_to_update Las entidades que se van a actualizar cuando finalice la acción.

Tipo: list[Entity]

json_results Resultados en JSON de la acción.

Tipo: JSON

_attachments Los archivos adjuntos de resultados de casos que se van a añadir.

Tipo: list[Attachment]

_contents El contenido del resultado del caso que se va a añadir.

Tipo: list[Content]

_data_tables Las tablas de datos de resultados de casos que se van a añadir.

Tipo: list[DataTable]

_html_reports Los informes HTML de resultados de casos que se van a añadir.

Tipo: list[HTMLReport]

Los enlaces de resultados de casos que se van a añadir.

Tipo: list[Link]

_entity_insights Las estadísticas de la entidad de caso que se van a añadir.

Tipo: list[EntityInsight]

_case_insights Las estadísticas del caso que se van a añadir.

Tipo: list[CaseInsight]

_execution_state Estado de ejecución final de la acción.

Tipo: ExecutionState

_result_value Valor del resultado final de la acción.

Tipo: bool

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

Tipo: str

_error_output_message 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 concreta.

Métodos abstractos

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

Métodos adicionales

Estos métodos se llaman durante la ejecución de la acción y afectan a 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 envoltorio 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]

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

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

property case_insights

property case_insights: list[CaseInsight]

Todos los datos valiosos de los casos de la lista se envían de forma predeterminada 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 que se actualicen.

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

property entity_insights

property entity_insights: list[EntityInsight]

Todos los resultados de las entidades de la lista se envían al resultado del caso de forma predeterminada.

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

entity_types de property

property entity_types: list[EntityTypesEnum]

Si la acción funciona con entidades, solo procesa las entidades cuyo tipo se encuentre en la lista entity_types. De lo contrario, la acción omitirá la entidad.

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

property error_output_message

property error_output_message: str

El mensaje de salida de la acción en caso de que se produzca un error.

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

property execution_state

property execution_state: ExecutionState

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.

Los posibles estados son los siguientes:

  • 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]

Todos los informes HTML de la lista se enviarán al resultado del caso de forma predeterminada.

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 devuelve este resultado:

True si es la primera vez que se ejecuta; 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 panel de casos.

property links: list[Link]

Todos los enlaces de la lista se enviarán al resultado del caso de forma predeterminada.

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

Registrador de propiedades

property logger: NewLineLogger

Devuelve el objeto NewLineLogger de las acciones.

Nombre de la propiedad

property name: str

property output_message

property output_message: str

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

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

Parámetros de propiedad

property params: [Container]

Devuelve un objeto Container que describe los parámetros de la acción. Cada parámetro se expone como un atributo snake_case.

property result_value

property result_value: bool

El valor del resultado de la acción que se devuelve a la plataforma.

Posibles valores:

  • True: Action Succeeded
  • False: Action Failed

property soar_action

property soar_action: SiemplifyAction

Devuelve el objeto SiemplifyAction del SDK.

clase TIPCommon.base.action.base_enrich_action.EnrichAction

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

Bases: Acción

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

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 nuevo valor.

Tipo: dict

entity_results Resultados de la entidad incluidos en la salida JSON de este objeto.

Tipo: Any

global_context

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 demás métodos abstractos con una lógica de enriquecimiento más OOTB y la transfiere 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

Un archivo 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 cifrado con hash (por ejemplo, para usarlo en conjuntos o como claves de diccionario) y la comparación de igualdad mediante el operador ==.

Atributos

Atributos
title El título del archivo adjunto.

Tipo: str | None

filename El nombre del archivo adjunto.

Tipo: str

file_contents El contenido del archivo adjunto.

Tipo: bytes

additional_data 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

Un archivo adjunto de un 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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
attachment_id int

ID del archivo adjunto.

attachment_type str

El tipo de archivo adjunto.

description str

La descripción del archivo adjunto.

is_favorite bool

Indica si el archivo 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

Un comentario de un 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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
comment str

El comentario.

comment_for_client str | None

Comentario para el cliente.

modification_time_unix_time_in_ms_for_client int

Hora de modificación de comment_for_client.

last_editor str

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

last_editor_full_name str

El nombre completo del último usuario que ha editado el documento, como admin admin.

is_deleted bool

Indica si el comentario ya se ha eliminado.

creator_user_id str

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

creator_full_name str

El nombre completo del creador, como Sistema.

comment_id int

Es el ID del comentario.

comment_type int

El tipo de comentario.

case_id int

ID del caso.

is_favorite bool

Indica si el comentario está marcado como favorito.

modification_time_unix_time_in_ms int

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

creation_time_unix_time_in_ms int

Hora de creación del comentario en formato Unix, como 1686040471269.

alert_identifier str

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

clase 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

Información valiosa sobre un 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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str

Título de la estadística.

triggered_by str

Nombre de la integración.

content str

El mensaje de la estadística.

severity InsightSeverity

Gravedad de la estadística. Los valores posibles son:

  • info
  • warning
  • error
insight_type InsightType

Tipo de estadística. Los valores posibles son:

  • general
  • entity
entity_identifier str | None

Identificador de la entidad.

additional_data Any | None

Datos adicionales.

additional_data_type Any | None

El tipo de datos adicionales.

additional_data_title str | None

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

Contenido de un resultado de 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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

El título del contenido.

content str

El contenido que se va a añadir 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

Una tabla de datos de resultados de secuencias de comandos de acciones.

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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

Título de la tabla.

data_table list[str]

Lista de filas CSV que componen 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

Una estadística de una 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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
entity Entity

El objeto de entidad.

message str

El mensaje de la estadística.

triggered_by str | None

Nombre de la integración.

original_requesting_user str | None

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'

clase 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

Objeto de parámetro de secuencia de comandos general.

Atributos

Atributos
full_dict dict[str, Any]

El diccionario original recibido de la API.

id int | None

Es el ID del parámetro.

integration_identifier str

El identificador de la integración, como VirusTotalV3.

creation_time int

Hora en la que se creó el parámetro.

modification_time int

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

Descripción del parámetro.

name str

Nombre del parámetro.

display_name str

Nombre visible del parámetro.

value Any

El valor predeterminado del parámetro.

type IntegrationParamType

Tipo de parámetro.

optional_values list

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

Un enlace de resultado de 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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

El título del enlace.

report_name str

El nombre del informe.

report_contents str

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

Un enlace de resultado de 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 cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

El título del enlace.

link str

El enlace.

class TIPCommon.base.action.data_models.ScriptParameter

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

Bases: object

Objeto de parámetro de secuencia de comandos general.

Atributos

Atributos
full_dict dict[str, Any]

Diccionario original recibido de la API.

id int | None

ID del parámetro.

creation_time int

Hora en la que se creó el parámetro.

modification_time int

Hora en la que se modificó el parámetro por última vez.

custom_action_id int | None

ID de la acción.

is_mandatory bool

Indica si el parámetro es obligatorio o no.

default_value Any

El valor predeterminado del parámetro.

Este parámetro tiene prioridad sobre el parámetro value en las guías.

description str | None

Descripción del parámetro.

name str | None

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

Tipo de parámetro.

optional_values list

DDL de 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]

Interfaz para clases que gestionan llamadas a APIs de servicios externos.

class TIPCommon.base.interfaces.authable.Authable

clase TIPCommon.base.interfaces.authable.Authable

Bases: ABC, Generic[AuthParams]

Interfaz para clases que gestionan 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 mediante 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 otro elemento que contenga todos los parámetros de autenticación.

Parámetros de autenticación.

class TIPCommon.base.interfaces.logger.Logger

clase TIPCommon.base.interfaces.logger.Logger

Bases: ABC

Una interfaz de registro diseñada para secuencias de comandos de mercados que verifica la compatibilidad cuando se sustituye o se simula el registrador transferido.

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 gestiona las sesiones de la API mediante 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 Elimina un recurso del servidor.
get(url: str, *args, **kwargs)→ _R Obtiene un recurso del servidor.
patch(url: str, *args, **kwargs) → _R Aplica un parche a un recurso en el servidor.
post(url: str, *args, **kwargs) → _R Envía un recurso al servidor.
put(url: str, *args, **kwargs) → _R Coloca (actualiza o crea) un recurso en el servidor.
request(method: str, *args, **kwargs) → _R Hace una solicitud al servidor.

class TIPCommon.base.job.base_job.Job

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

Bases: ABC, Generic[ApiClient]

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

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 la API para interactuar con servicios externos.

property error_msg

property error_msg: str

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

property job_start_time

property job_start_time: int

Representa la marca de tiempo en la que se inició el trabajo.

Registrador de propiedades

property logger: ScriptLogger

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

Nombre de la propiedad

property name: str

Contiene el nombre de la secuencia de comandos de la tarea.

Parámetros de propiedad

property params: Container

Contiene los parámetros de configuración proporcionados a la tarea.

property soar_job

property soar_job: SiemplifyJob

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

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 del ciclo de vida que influyen en el procesamiento de los trabajos. No es obligatorio que las subclases los anulen.

property api_client

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

Contiene el cliente o los clientes de la API que se usan para las interacciones con 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: tupla

Atributos

Atributos
success_list Alias del campo número 0.
failure_list Alias del 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 admite valores únicos, cadenas entre comillas y formatos mixtos.

Parámetros

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

Aumentos

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

Lista de valores únicos proporcionados en el parámetro de la tarea. Si no se encuentra ningún valor válido, se devuelve una lista vacía.

Tipo de devolución

list[str]

class TIPCommon.base.job.data_models.JobParameter

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

Bases: object

Objeto de parámetro de secuencia de comandos general.

Atributos

Atributos
full_dict dict[str, Any]

El diccionario original recibido 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 las guías.

name str | None

El nombre del parámetro.

type ActionParamType

Tipo de parámetro.

value Any

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 la salida JSON estructurada 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 la salida JSON estructurada 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

El objeto AlertInfo creado.

Tipo de devolución

AlertInfo

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.