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 Es un objeto JSON de respuesta que representa el archivo adjunto.

Devoluciones

Es el objeto CaseAttachment analizado.

Tipo de datos que se devuelve

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 Es un objeto JSON de respuesta que representa el comentario.

Devoluciones

Es el objeto CaseComment analizado.

Tipo de datos que se devuelve

CaseComment

class TIPCommon.base.action.base_action.Action

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

Bases: ABC, Generic[ApiClient]

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, las propiedades genéricas y los 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 para esta acción.

Tipo: Container

global_context 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 JSON de la acción.

Tipo: JSON

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

Tipo: list[Attachment]

_contents 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 Son los informes HTML de los resultados del caso que se agregarán.

Tipo: list[HTMLReport]

Son los vínculos de 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 ejecuta 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() Ejecuta la lógica principal de la acción.

Métodos adicionales

Estos son métodos a los que se llama durante la ejecución de la acción y que 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 propiedad

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]

Todas las estadísticas de casos de la lista se envían al resultado del caso de forma predeterminada.

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

Contenido de property

property contents: list[Content]

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

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.

property entity_insights

property entity_insights: list[EntityInsight]

Todas las estadísticas de 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.

property entity_types

property entity_types: list[EntityTypesEnum]

Si la acción funciona con entidades, solo procesa las entidades cuyo tipo esté 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

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

Los estados posibles 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.

propiedad is_first_run

property is_first_run: bool

Indica si esta 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]

Todos los vínculos 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 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]

Muestra un objeto Container que describe los parámetros de la acción, con cada parámetro expuesto como un atributo en minúsculas con guiones bajos.

property result_value

property result_value: bool

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

Valores posibles:

  • True: Se realizó la acción correctamente
  • 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

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

Bases: Action

Es una 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

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 superior para que la use en el método start().

class TIPCommon.base.action.data_models.ActionParamType

class 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

class 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, no se pueden modificar sus atributos. Admite el hashing (por ejemplo, el uso 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 Es el nombre del archivo adjunto.

Tipo: str

file_contents Es el contenido del archivo adjunto.

Tipo: bytes

additional_data Datos adicionales.

Tipo: dict | None

class TIPCommon.base.action.data_models.CaseAttachment

class 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 hashing (almacenado en un conjunto o como una 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 archivo adjunto está marcado como favorito.

class TIPCommon.base.action.data_models.CaseComment

class 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 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 hashing (almacenado en un conjunto o como una 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

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

last_editor_full_name str

Es el nombre completo del último usuario editor, como admin admin.

is_deleted bool

Indica si el comentario ya se borró.

creator_user_id str

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

creator_full_name str

Es el nombre completo del creador, como Sistema.

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

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

creation_time_unix_time_in_ms int

La hora de creación del comentario en 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

class 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

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

Atributos

Atributos
title str

Es el título de la estadística.

triggered_by str

Es el nombre de la integración.

content str

Es el mensaje de la estadística.

severity InsightSeverity

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

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

class 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

class 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

class 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

class 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

class 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

class 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

class 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

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

Bases: object

Es el contenido del resultado 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 hashing (almacenado en un conjunto o como una clave dict) 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

class 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 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 hashing (almacenado en un conjunto o como una 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 de CSV que construyen la tabla.

class TIPCommon.base.action.data_models.EntityInsight

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

Atributos

Atributos
entity Entity

Es el objeto de entidad.

message str

Es el mensaje de la estadística.

triggered_by str | None

Es el nombre de la integración.

original_requesting_user str | None

El usuario original.

class TIPCommon.base.action.data_models.EntityTypesEnum

class 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

class 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

class 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 hora en la que se creó el parámetro.

modification_time int

Es la 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 visible del parámetro.

value Any

Es el valor predeterminado del parámetro.

type IntegrationParamType

El tipo del parámetro.

optional_values list

Un DDL de valores opcionales para el DDL de tipo.

class TIPCommon.base.action.data_models.HTMLReport

class 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 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 hashing (almacenado en un conjunto o como una 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

class 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

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

Bases: object

Es un vínculo 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 hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.

Atributos

Atributos
title str | None

Es el título del vínculo.

link str

El vínculo.

class TIPCommon.base.action.data_models.ScriptParameter

class 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 recibido de la API.

id int | None

Es el ID del parámetro.

creation_time int

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

modification_time int

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

custom_action_id int | None

Es el ID de 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 las guías.

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 se prioriza sobre el parámetro default_value en las acciones manuales.

type ActionParamType

El tipo del parámetro.

optional_values list

DDL de valores opcionales para el tipo DDL.

class TIPCommon.base.interfaces.apiable.Apiable

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

Bases: ABC, Generic[ApiParams]

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

class TIPCommon.base.interfaces.authable.Authable

class 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

class TIPCommon.base.interfaces.logger.Logger

Bases: ABC

Es una interfaz de registro diseñada para las secuencias de comandos de Content Hub 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 de información.
warn(warning_msg: str, *args, **kwargs) → None Registra un mensaje de advertencia.

class TIPCommon.base.interfaces.session.Session

class 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 un parche 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

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

Bases: ABC, Generic[ApiClient]

Es una clase que representa una secuencia de comandos de trabajo en Google SecOps.

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 haya producido durante la ejecución del trabajo.

Propiedad job_start_time

property job_start_time: int

Representa la marca de tiempo en la que se inició 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 de trabajo subyacente de Google SecOps.

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

class 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. No es necesario que las subclases las anulen.

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 con servicios externos.

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

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

Bases: tuple

Atributos

Atributos
success_list Alias para el campo número 0.
failure_list Es el 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 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 devuelve

list[str]

class TIPCommon.base.job.data_models.JobParameter

class 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 dict 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 se prioriza sobre value en las guías.

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 se prioriza sobre default_value en las acciones manuales.

class TIPCommon.base.data_models.ActionJsonOutput

class 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

class 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

class 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

class 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 devuelve

AlertInfo

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