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: |
_api_client |
El cliente de la API de la integración.
Tipo: |
_name |
Nombre de la secuencia de comandos que usa esta acción.
Tipo: |
_action_start_time |
La hora de inicio de la acción.
Tipo: |
_logger |
Objeto de registro que se usa para registrar acciones.
Tipo: |
_params |
Contenedor de parámetros de esta acción.
Tipo: |
global_context |
Un diccionario para almacenar el contexto, si es necesario.
Tipo: |
_entity_types |
Los tipos de entidad admitidos por la acción.
Tipo: |
_entities_to_update |
Las entidades que se van a actualizar cuando finalice la acción.
Tipo: |
json_results |
Resultados en JSON de la acción.
Tipo: |
_attachments |
Los archivos adjuntos de resultados de casos que se van a añadir.
Tipo: |
_contents |
El contenido del resultado del caso que se va a añadir.
Tipo: |
_data_tables |
Las tablas de datos de resultados de casos que se van a añadir.
Tipo: |
_html_reports |
Los informes HTML de resultados de casos que se van a añadir.
Tipo: |
_links |
Los enlaces de resultados de casos que se van a añadir.
Tipo: |
_entity_insights |
Las estadísticas de la entidad de caso que se van a añadir.
Tipo: |
_case_insights |
Las estadísticas del caso que se van a añadir.
Tipo: |
_execution_state |
Estado de ejecución final de la acción.
Tipo: |
_result_value |
Valor del resultado final de la acción.
Tipo: |
_output_message |
El mensaje de salida de la acción cuando se completa correctamente.
Tipo: |
_error_output_message |
El mensaje de salida de la acción cuando falla.
Tipo: |
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 = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.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.
Enlaces de propiedad
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 SucceededFalse: 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 |
strEl 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 Tipo: |
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: |
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 |
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 = 1CASE_PRIORITIES = 7CLOSE_CASE_REASONS = 5CLOSE_ROOT_CAUSE = 6CODE = 20CONTENT = 11DDL = 15EMAIL_CONTENT = 10ENTITY_TYPE = 13MULTI_VALUES = 14NULL = -1PASSWORD = 12PLAYBOOK_NAME = 2STAGE = 4STRING = 0USER = 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: |
filename |
El nombre del archivo adjunto. Tipo: |
file_contents |
El contenido del archivo adjunto. Tipo: |
additional_data |
Datos adicionales. Tipo: |
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 |
intID del archivo adjunto. |
attachment_type |
strEl tipo de archivo adjunto. |
description |
strLa descripción del archivo adjunto. |
is_favorite |
boolIndica 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 |
strEl comentario. |
comment_for_client |
str | NoneComentario para el cliente. |
modification_time_unix_time_in_ms_for_client |
int
Hora de modificación de |
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 |
intEs el ID del comentario. |
comment_type |
intEl tipo de comentario. |
case_id |
intID 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 |
strEl 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 |
strTítulo de la estadística. |
triggered_by |
strNombre de la integración. |
content |
strEl mensaje de la estadística. |
severity |
InsightSeverityGravedad de la estadística. Los valores posibles son:
|
insight_type |
InsightTypeTipo de estadística. Los valores posibles son:
|
entity_identifier |
str | NoneIdentificador de la entidad. |
additional_data |
Any | NoneDatos adicionales. |
additional_data_type |
Any | NoneEl tipo de datos adicionales. |
additional_data_title |
str | NoneTí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 = 100HIGH = 80INFORMATIONAL = 0LOW = 40MEDIUM = 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 = 3MAINTENANCE = 2MALICIOUS = 0NOT_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 | NoneEl título del contenido. |
content |
strEl 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 | NoneTí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 |
EntityEl objeto de entidad. |
message |
strEl mensaje de la estadística. |
triggered_by |
str | NoneNombre de la integración. |
original_requesting_user |
str | NoneEl 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 = 0FAILED = 2IN_PROGRESS = 1TIMED_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 | NoneEs el ID del parámetro. |
integration_identifier |
strEl identificador de la integración, como VirusTotalV3. |
creation_time |
intHora en la que se creó el parámetro. |
modification_time |
intHora en la que se modificó el parámetro por última vez. |
is_mandatory |
boolDefine si el parámetro es obligatorio o no. |
description |
str | NoneDescripción del parámetro. |
name |
strNombre del parámetro. |
display_name |
strNombre visible del parámetro. |
value |
AnyEl valor predeterminado del parámetro. |
type |
IntegrationParamTypeTipo de parámetro. |
optional_values |
listDDL 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 | NoneEl título del enlace. |
report_name |
strEl nombre del informe. |
report_contents |
strEl 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 = 0EMAIL = 8INTEGER = 1IP = 4NULL = -1PASSWORD = 3STRING = 2
class TIPCommon.base.action.data_models.Link
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 | NoneEl título del enlace. |
link |
strEl 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 | NoneID del parámetro. |
creation_time |
intHora en la que se creó el parámetro. |
modification_time |
intHora en la que se modificó el parámetro por última vez. |
custom_action_id |
int | NoneID de la acción. |
is_mandatory |
boolIndica si el parámetro es obligatorio o no. |
default_value |
AnyEl valor predeterminado del parámetro. Este parámetro tiene prioridad sobre el parámetro |
description |
str | NoneDescripción del parámetro. |
name |
str | NoneNombre del parámetro. |
value |
AnyEl valor del parámetro. Este valor tiene prioridad sobre el parámetro |
type |
ActionParamTypeTipo de parámetro. |
optional_values |
listDDL 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 | NoneEs el ID del parámetro. |
is_mandatory |
boolDefine si el parámetro es obligatorio o no. Nota: Este atributo tiene prioridad sobre |
name |
str | NoneEl nombre del parámetro. |
type |
ActionParamTypeTipo de parámetro. |
value |
AnyEl valor predeterminado del parámetro. Nota: Este atributo tiene prioridad sobre |
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.