TIPCommon.base
TIPCommon.base.action.action_parser.parse_case_attachment
TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment
Analiza un adjunto JSON y devuelve un objeto CaseAttachment
.
Parámetros
Parámetros | |
---|---|
attachment |
Es un objeto JSON de respuesta que representa el adjunto. |
Devoluciones
Es el objeto CaseAttachment
analizado.
Tipo de datos que se muestra
CaseAttachment
TIPCommon.base.action.action_parser.parse_case_comment
TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment
Analiza un comentario en formato JSON y devuelve un objeto CaseComment
.
Parámetros
Parámetros | |
---|---|
comment |
Es un objeto JSON de respuesta que representa el comentario. |
Devoluciones
Es el objeto CaseComment
analizado.
Tipo de datos que se muestra
CaseComment
class TIPCommon.base.action.base_action.Action
clase TIPCommon.base.action.base_action.Action(name: str)
Bases: ABC, Generic[ApiClient]
Es una implementación de infraestructura genérica unificada para el desarrollo de acciones de Google SecOps.
La clase base Action proporciona métodos abstractos de plantilla para anular en las clases de acción heredadas, propiedades genéricas y flujos generales como métodos que se ejecutan cuando se llama al método run de la acción.
Parámetros
Parámetros | |
---|---|
name |
str
Es el nombre de la secuencia de comandos de la acción. |
Atributos
Atributos | |
---|---|
_soar_action |
Es el objeto del SDK de SiemplifyAction .
Tipo: |
_api_client |
Es el cliente de API de la integración.
Tipo: |
_name |
Es el nombre de la secuencia de comandos que usa esta acción.
Tipo: |
_action_start_time |
Es la hora de inicio de la acción.
Tipo: |
_logger |
Es el objeto de registro que se usa para registrar acciones.
Tipo: |
_params |
Es el contenedor de parámetros de esta acción.
Tipo: |
global_context |
Es un diccionario para almacenar el contexto, si es necesario.
Tipo: |
_entity_types |
Son los tipos de entidades que admite la acción.
Tipo: |
_entities_to_update |
Son las entidades que se actualizarán cuando finalice la acción.
Tipo: |
json_results |
Son los resultados en formato JSON de la acción.
Tipo: |
_attachments |
Son los archivos adjuntos del resultado del caso que se agregarán.
Tipo: |
_contents |
Es el contenido del resultado del caso que se agregará.
Tipo: |
_data_tables |
Son las tablas de datos de resultados de casos que se agregarán.
Tipo: |
_html_reports |
Informes HTML de los resultados del caso que se agregarán.
Tipo: |
_links |
Son los vínculos de los resultados del caso que se agregarán.
Tipo: |
_entity_insights |
Son las estadísticas de la entidad del caso que se agregarán.
Tipo: |
_case_insights |
Son las estadísticas del caso que se agregarán.
Tipo: |
_execution_state |
Es el estado de ejecución final de la acción.
Tipo: |
_result_value |
Es el valor del resultado final de la acción.
Tipo: |
_output_message |
Es el mensaje de salida de la acción cuando se completa correctamente.
Tipo: |
_error_output_message |
Es 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 en particular. |
Métodos abstractos
Métodos abstractos | |
---|---|
_validate_params() |
Valida los parámetros de esta acción. |
_init_managers() |
Inicializa y devuelve un objeto de administrador. |
_perform_action() |
Realiza la lógica principal de la acción. |
Métodos adicionales
Estos son métodos que se llaman durante la ejecución de la acción y afectan la fase de procesamiento de alertas, pero no es obligatorio anularlos.
_get_entity_types()
_finalize_action_on_success()
_finalize_action_on_failure()
_on_entity_failure()
_handle_timeout()
_extract_action_parameters()
_finalize()
Métodos de wrapper del SDK
_add_attachment_to_current_case()
_get_current_case_attachments()
_add_comment_to_case()
_get_current_case_comments()
_assign_case_to_user()
_add_tag_to_case()
_attach_playbook_to_current_alert()
_get_similar_cases_to_current_case()
_get_alerts_ticket_ids_from_cases_closed_since_timestamp()
_change_current_case_stage()
_change_current_case_priority()
_close_current_case()
_close_alert()
_escalate_case()
_mark_case_as_important()
_raise_incident()
_add_entity_to_case()
_update_alerts_additional_data()
_get_current_integration_configuration()
_any_alert_entities_in_custom_list()
_add_alert_entities_to_custom_list()
_remove_alert_entities_from_custom_list()
Ejemplo
from TIPCommon.base.actions.action_base import Action
from TIPCommon.validation import ParameterValidator
SOME_ACTION_SCRIPT_NAME = 'Some Integration - Some Action'
class SomeAction(Action):
def _validate_params(self) -> None:
validator = ParameterValidator(self.soar_action)
... # validation logic
def _perform_action(self, entity: Entity) -> None:
try:
self.logger.info('Querying Api client')
data = self.api_client.do_something(
param=self.params.query,
entity=entity.original_identifier
)
... # Some logic to process the data
except SomeCustomException as err:
self.error_output_message = (
"Action wasn't able to successfully do its thing."
)
raise err from err
def main() -> None:
SomeAction(SEARCH_GRAPHS_SCRIPT_NAME).run()
if __name__ == '__main__':
main()
property action_start_time
property action_start_time: int
Devuelve un int
que representa la hora de inicio de la acción en Unix.
property api_client
propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Devuelve un objeto Apiable.
Archivos adjuntos de propiedades
property attachments: list[Attachment]
De forma predeterminada, todos los archivos adjuntos de la lista se envían al resultado del caso.
Devuelve una lista de objetos Attachment
que representan las estadísticas de este caso.
property de case_insights
property case_insights: list[CaseInsight]
De forma predeterminada, todas las estadísticas del caso de la lista se envían al resultado del caso.
Devuelve una lista de objetos CaseInsight
que representan las estadísticas de este caso.
Contenido de la propiedad
property contents: list[Content]
De forma predeterminada, todo el contenido de la lista se envía al resultado del caso.
Devuelve una lista de objetos Content que representan las estadísticas de este caso.
property data_tables
property data_tables: list[DataTable]
De forma predeterminada, todas las tablas de datos de la lista se envían al resultado del caso.
Devuelve una lista de objetos DataTable que representan las estadísticas de este caso.
property entities_to_update
property entities_to_update: list[DomainEntityInfo]
Todas las entidades de la lista se envían a la plataforma para su actualización.
Devuelve una lista de objetos Entity
que representan las entidades que se deben actualizar en el caso.
Entidad property de entity_insights
property entity_insights:
list[EntityInsight]
De forma predeterminada, todas las estadísticas de entidades de la lista se envían al resultado del caso.
Devuelve una lista de objetos EntityInsight
que representan las estadísticas de este caso.
property entity_types
property entity_types:
list[EntityTypesEnum]
Si la acción funciona con entidades, solo procesa aquellas cuyo tipo se encuentra en la lista entity_types
. De lo contrario, la acción omite la entidad.
Devuelve una lista de objetos EntityTypesEnum
que representan los tipos de entidades que la acción puede procesar.
property error_output_message
property error_output_message: str
Es el mensaje de salida de la acción en caso de que falle la ejecución.
Es un mensaje de salida que debería aparecer en caso de que se produzca un error durante el tiempo de ejecución de la acción. El valor predeterminado es Action
SCRIPT_NAME
failed
.
property execution_state
property execution_state: ExecutionState
Es el estado de ejecución de la acción, un indicador de estado representado por un número entero que se devuelve a la plataforma.
Estos son los estados posibles:
ExecutionState.COMPLETED = 0
ExecutionState.IN_PROGRESS = 1
ExecutionState.FAILED = 2
ExecutionState.TIMED_OUT = 3
Devuelve el objeto ExecutionState
que representa el estado de ejecución actual.
property html_reports
property html_reports: list[HTMLReport]
De forma predeterminada, todos los informes en HTML de la lista se enviarán al resultado del caso.
Devuelve una lista de objetos HTMLReport
que representan las estadísticas de este caso.
property is_first_run
property is_first_run: bool
Indica si es la primera ejecución.
Se muestra lo siguiente:
True
si es la primera ejecución; de lo contrario, False
.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Devuelve el resultado JSON de la acción que se enviará al muro del caso.
Vínculos de propiedad
property links: list[Link]
De forma predeterminada, todos los vínculos de la lista se enviarán al resultado del caso.
Devuelve una lista de objetos Link
que representan las estadísticas de este caso.
Registrador de property
property logger: NewLineLogger
Devuelve el objeto NewLineLogger
para las acciones.
Nombre de la propiedad
property name: str
property output_message
property output_message: str
Es el mensaje de salida de la acción en caso de que se ejecute correctamente.
Es el mensaje de salida que resume el resultado de la acción.
Parámetros de property
property params:
[Container]
Devuelve un objeto Container
que describe los parámetros de la acción, con cada parámetro expuesto como un atributo snake_case.
property result_value
property result_value: bool
Es el valor del resultado de la acción que se devolverá a la plataforma.
Valores posibles:
True
: Action SucceededFalse
: No se pudo realizar la acción
property soar_action
property soar_action: SiemplifyAction
Devuelve el objeto SiemplifyAction
del SDK.
class TIPCommon.base.action.base_enrich_action.EnrichAction
clase TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
Bases: Action
Clase que representa una acción de enriquecimiento de entidades.
Esta clase hereda de la clase TIPCommon.base.actions.base_action::Action
.
Parámetros
Parámetros | |
---|---|
name |
str Es el nombre de la acción. |
Atributos
Atributos | |
---|---|
enrichment_data |
Este atributo contiene los datos de enriquecimiento de la entidad actual en cada una de las iteraciones de la entidad. Al final de cada iteración, el atributo Tipo: |
entity_results |
Son los resultados de la entidad incluidos en el resultado JSON de este objeto.
Tipo: Cualquiera |
global_context |
Es un diccionario para almacenar el contexto si es necesario. Tipo: |
Métodos abstractos
Métodos abstractos | |
---|---|
_get_entity_types() |
Obtiene el tipo de entidades en las que se ejecuta la acción. |
_perform_enrich_action() |
Realiza la lógica de enriquecimiento principal en una entidad. |
Métodos privados
Métodos privados | |
---|---|
_perform_action() |
Este método combina los otros métodos abstractos con más lógica de enriquecimiento lista para usar y la pasa a la clase principal para usarla en el método |
class TIPCommon.base.action.data_models.ActionParamType
clase TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
BOOLEAN = 1
CASE_PRIORITIES = 7
CLOSE_CASE_REASONS = 5
CLOSE_ROOT_CAUSE = 6
CODE = 20
CONTENT = 11
DDL = 15
EMAIL_CONTENT = 10
ENTITY_TYPE = 13
MULTI_VALUES = 14
NULL = -1
PASSWORD = 12
PLAYBOOK_NAME = 2
STAGE = 4
STRING = 0
USER = 3
class TIPCommon.base.action.data_models.Attachment
clase TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)
Bases: object
Es un adjunto de resultado de secuencia de comandos de acción.
Esta clase es inmutable: una vez creada, sus atributos no se pueden modificar. Admite el hashing (por ejemplo, para usar en conjuntos o como claves de diccionario) y la comparación de igualdad con el operador ==
.
Atributos
Atributos | |
---|---|
title |
Es el título del archivo adjunto. Tipo: |
filename |
Nombre del archivo adjunto. Tipo: |
file_contents |
Es el contenido del archivo adjunto. Tipo: |
additional_data |
Son 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
Es un accesorio para el estuche.
Esta clase es inmutable; después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
attachment_id |
int Es el ID del archivo adjunto. |
attachment_type |
str Es el tipo de archivo adjunto. |
description |
str Es la descripción del adjunto. |
is_favorite |
bool Indica si el adjunto está marcado como favorito. |
class TIPCommon.base.action.data_models.CaseComment
clase TIPCommon.base.action.data_models.CaseComment(comment: str, creator_user_id: str, comment_id: int, comment_type: int, case_id: int, is_favorite: bool, modification_time_unix_time_in_ms: int, creation_time_unix_time_in_ms: int, alert_identifier: str, creator_full_name: str | None = None, is_deleted: bool | None = None, last_editor: str | None = None, last_editor_full_name: str | None = None, modification_time_unix_time_in_ms_for_client: int | None = None, comment_for_client: str | None = None)
Bases: object
Es un comentario del caso.
Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
comment |
str El comentario. |
comment_for_client |
str | None Es el comentario para el cliente. |
modification_time_unix_time_in_ms_for_client |
int
Es la hora de modificación de |
last_editor |
str
ID del último editor, como 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Nombre completo del usuario del último editor, como admin admin. |
is_deleted |
bool
Indica si el comentario ya se borró. |
creator_user_id |
str
ID de usuario del creador, como 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
Nombre completo del creador, como System. |
comment_id |
int Es el ID del comentario. |
comment_type |
int Es el tipo de comentario. |
case_id |
int Es el ID del caso. |
is_favorite |
bool
Indica si el comentario está marcado como favorito. |
modification_time_unix_time_in_ms |
int
Hora de la última modificación del comentario en formato Unix, como 1686040471269. |
creation_time_unix_time_in_ms |
int
Es la fecha y hora de creación del comentario en formato Unix, como 1686040471269. |
alert_identifier |
str Es el identificador de la alerta, como SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E. |
class TIPCommon.base.action.data_models.CaseInsight
clase TIPCommon.base.action.data_models.CaseInsight(triggered_by: str, title: str, content: str, severity: InsightSeverity, insight_type: InsightType, entity_identifier: str = '', additional_data: Any | None = None, additional_data_type: Any | None = None, additional_data_title: str | None = None)
Bases: object
Es una estadística del caso.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str Es el título de la estadística. |
triggered_by |
str Nombre de la integración. |
content |
str Es el mensaje de la estadística. |
severity |
InsightSeverity Es la gravedad de la estadística. Los valores posibles son:
|
insight_type |
InsightType Es el tipo de estadística. Los valores posibles son:
|
entity_identifier |
str | None Es el identificador de la entidad. |
additional_data |
Any | None Son datos adicionales. |
additional_data_type |
Any | None Es el tipo de datos adicionales. |
additional_data_title |
str | None Es el título de los datos adicionales. |
class TIPCommon.base.action.data_models.CasePriority
clase TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
CRITICAL = 100
HIGH = 80
INFORMATIONAL = 0
LOW = 40
MEDIUM = 60
class TIPCommon.base.action.data_models.CaseStage
clase TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
ASSESSMENT = 'Assessment'
IMPROVEMENT = 'Improvement'
INCIDENT = 'Incident'
INVESTIGATION = 'Investigation'
RESEARCH = 'Research'
TRIAGE = 'Triage'
class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
NO_CLEAR_CONCLUSION = 'No clear conclusion'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
LAB_TEST = 'Lab test'
OTHER = 'Other'
RULE_UNDER_CONSTRUCTION = 'Rule under construction'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
EXTERNAL_ATTACK = 'External attack'
INFRASTRUCTURE_ISSUE = 'Infrastructure issue'
IRRELEVANT_TCP_UDP_PORT = 'Irrelevant TCP/UDP port'
MISCONFIGURED_SYSTEM = 'Misconfigured system'
OTHER = 'Other'
SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'
SYSTEM_APPLICATION_MALFUNCTION = 'System/application malfunction'
SYSTEM_CLOCKED_THE_ATTACK = 'System blocked the attack'
UNFORESEEN_EFFECTS_OF_CHANGE = 'Unforeseen effects of change'
UNKNOWN = 'Unknown'
class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
EMPLOYEE_ERROR = 'Employee error'
HUMAN_ERROR = 'Human error'
LAB_TEST = 'Lab test'
LEGIT_ACTION = 'Legit action'
MISCONFIGURED_SYSTEM = 'Misconfigured system'
NONE = 'None'
NORMAL_BEHAVIOR = 'Normal behavior'
OTHER = 'Other'
PENETRATION_TEST = 'Penetration test'
RULE_UNDER_CONSTRUCTION = 'Rule under construction'
SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'
UNKNOWN = 'Unknown'
USER_MISTAKE = 'User mistake'
class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons
clase TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
### Constantes
INCONCLUSIVE = 3
MAINTENANCE = 2
MALICIOUS = 0
NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
clase TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
Bases: object
Es el contenido del resultado de una secuencia de comandos de acción.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str | None Es el título del contenido. |
content |
str Es el contenido que se agregará a los resultados de la secuencia de comandos. |
class TIPCommon.base.action.data_models.DataTable
clase TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
Bases: object
Es una tabla de datos de resultados de la secuencia de comandos de una acción.
Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str | None Es el título de la tabla. |
data_table |
list[str] Es una lista de filas CSV que construyen la tabla. |
class TIPCommon.base.action.data_models.EntityInsight
clase TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)
Bases: object
Es una estadística de la entidad.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
entity |
Entity Es el objeto de la entidad. |
message |
str Es el mensaje de la estadística. |
triggered_by |
str | None Nombre de la integración |
original_requesting_user |
str | None Es el usuario original. |
class TIPCommon.base.action.data_models.EntityTypesEnum
clase TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
ADDRESS = 'ADDRESS'
ALERT = 'ALERT'
APPLICATION = 'APPLICATION'
CHILD_HASH = 'CHILDHASH'
CHILD_PROCESS = 'CHILDPROCESS'
CLUSTER = 'CLUSTER'
CONTAINER = 'CONTAINER'
CREDIT_CARD = 'CREDITCARD'
CVE = 'CVE'
CVE_ID = 'CVEID'
DATABASE = 'DATABASE'
DEPLOYMENT = 'DEPLOYMENT'
DESTINATION_DOMAIN = 'DESTINATIONDOMAIN'
DOMAIN = 'DOMAIN'
EMAIL_MESSAGE = 'EMAILSUBJECT'
EVENT = 'EVENT'
FILE_HASH = 'FILEHASH'
FILE_NAME = 'FILENAME'
GENERIC = 'GENERICENTITY'
HOST_NAME = 'HOSTNAME'
IP_SET = 'IPSET'
MAC_ADDRESS = 'MacAddress'
PARENT_HASH = 'PARENTHASH'
PARENT_PROCESS = 'PARENTPROCESS'
PHONE_NUMBER = 'PHONENUMBER'
POD = 'POD'
PROCESS = 'PROCESS'
SERVICE = 'SERVICE'
SOURCE_DOMAIN = 'SOURCEDOMAIN'
THREAT_ACTOR = 'THREATACTOR'
THREAT_CAMPAIGN = 'THREATCAMPAIGN'
THREAT_SIGNATURE = 'THREATSIGNATURE'
URL = 'DestinationURL'
USB = 'USB'
USER = 'USERUNIQNAME'
class TIPCommon.base.action.data_models.ExecutionState
clase TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
COMPLETED = 0
FAILED = 2
IN_PROGRESS = 1
TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
clase TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
Bases: object
Es un objeto de parámetro de secuencia de comandos general.
Atributos
Atributos | |
---|---|
full_dict |
dict[str, Any] Es el diccionario original que se recibió de la API. |
id |
int | None Es el ID del parámetro. |
integration_identifier |
str Es el identificador de la integración, como VirusTotalV3. |
creation_time |
int Es la fecha y hora en que se creó el parámetro. |
modification_time |
int Es la fecha y hora en la que se modificó el parámetro por última vez. |
is_mandatory |
bool Define si el parámetro es obligatorio o no. |
description |
str | None Es la descripción del parámetro. |
name |
str Es el nombre del parámetro. |
display_name |
str Es el nombre que se muestra del parámetro. |
value |
Any Es el valor predeterminado del parámetro. |
type |
IntegrationParamType El tipo del parámetro. |
optional_values |
list Es un DDL de valores opcionales para el DDL de tipo. |
class TIPCommon.base.action.data_models.HTMLReport
clase TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')
Bases: object
Es un vínculo de acción y resultado de secuencia de comandos.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str | None Es el título del vínculo. |
report_name |
str Es el nombre del informe. |
report_contents |
str Es el contenido HTML del informe. |
class TIPCommon.base.action.data_models.IntegrationParamType
clase TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
BOOLEAN = 0
EMAIL = 8
INTEGER = 1
IP = 4
NULL = -1
PASSWORD = 3
STRING = 2
class TIPCommon.base.action.data_models.Link
clase TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
Bases: object
Es un vínculo de acción y resultado de secuencia de comandos.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el uso de hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str | None Es el título del vínculo. |
link |
str Es el vínculo. |
class TIPCommon.base.action.data_models.ScriptParameter
clase TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Bases: object
Es un objeto de parámetro de secuencia de comandos general.
Atributos
Atributos | |
---|---|
full_dict |
dict[str, Any] Es el diccionario original que se recibió de la API. |
id |
int | None Es el ID del parámetro. |
creation_time |
int Fecha y hora en que se creó el parámetro. |
modification_time |
int Fecha y hora en que se modificó el parámetro por última vez. |
custom_action_id |
int | None Es el ID de la acción. |
is_mandatory |
bool Indica si el parámetro es obligatorio o no. |
default_value |
Any Es el valor predeterminado del parámetro. Este parámetro tiene prioridad sobre el parámetro |
description |
str | None Es la descripción del parámetro. |
name |
str | None Es el nombre del parámetro. |
value |
Any El valor del parámetro. Este valor tiene prioridad sobre el parámetro |
type |
ActionParamType El tipo del parámetro. |
optional_values |
list DDL de los valores opcionales para el DDL de tipo. |
class TIPCommon.base.interfaces.apiable.Apiable
clase TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
Bases: ABC, Generic[ApiParams]
Es una interfaz para las clases que administran llamadas a la API de servicios externos.
class TIPCommon.base.interfaces.authable.Authable
clase TIPCommon.base.interfaces.authable.Authable
Bases: ABC, Generic[AuthParams]
Es una interfaz para las clases que administran la autenticación con servicios externos.
Métodos abstractos
Métodos abstractos | |
---|---|
authenticat_session(params: Authparams) → None |
Autentica el atributo self.session de la clase con params .
Este método te autentica en el servicio con el que interactúa la sesión después de crear un objeto con esa sesión. |
Atributos
Atributos | |
---|---|
params |
object , dataclass , TypedDict , namedtuple o cualquier elemento que contenga todos los parámetros de autenticaciónSon los parámetros de autenticación. |
class TIPCommon.base.interfaces.logger.Logger
clase TIPCommon.base.interfaces.logger.Logger
Bases: ABC
Es una interfaz de registrador diseñada para las secuencias de comandos del mercado que verifica la compatibilidad cuando se reemplaza o simula el registrador pasado.
Métodos abstractos
Métodos abstractos | |
---|---|
debug(msg: str, *args, **kwargs) → None |
Registra un mensaje de depuración. |
error(error_msg: str, *args, **kwargs) → None |
Registra un mensaje de error. |
exception(ex: Exception, *args, **kwargs) → None |
Registra un mensaje de excepción. |
info(msg: str, *args, **kwargs) → None |
Registra un mensaje informativo. |
warn(warning_msg: str, *args, **kwargs) → None |
Registra un mensaje de advertencia. |
class TIPCommon.base.interfaces.session.Session
clase TIPCommon.base.interfaces.session.Session
Bases: ABC, Generic[_R]
Esta clase administra las sesiones de la API con un objeto de sesión. Admite varios tipos de sesiones y simulaciones con bibliotecas como requests
o httpx
.
Atributos
Atributos | |
---|---|
headers |
dict |
verify |
bool |
Métodos abstractos
Métodos abstractos | |
---|---|
delete(url: str, *args, **kwargs)→ _R |
Borra un recurso del servidor. |
get(url: str, *args, **kwargs)→ _R |
Obtiene un recurso del servidor. |
patch(url: str, *args, **kwargs) → _R |
Aplica parches a un recurso en el servidor. |
post(url: str, *args, **kwargs) → _R |
Publica un recurso en el servidor. |
put(url: str, *args, **kwargs) → _R |
Coloca (actualiza o crea) un recurso en el servidor. |
request(method: str, *args, **kwargs) → _R |
Realiza una solicitud al servidor. |
class TIPCommon.base.job.base_job.Job
clase TIPCommon.base.job.base_job.Job(name: str)
Bases: ABC, Generic[ApiClient]
Es una clase que representa una secuencia de comandos de trabajo en SOAR de Google Security Operations.
Métodos
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Proporciona el cliente o los clientes de API para interactuar con servicios externos.
property error_msg
property error_msg: str
Almacena cualquier mensaje de error que se encuentre durante la ejecución del trabajo.
property job_start_time
property job_start_time: int
Representa la marca de tiempo en la que comenzó el trabajo.
Registrador de property
property logger: ScriptLogger
Proporciona la funcionalidad de registro para la secuencia de comandos del trabajo.
Nombre de la propiedad
property name: str
Contiene el nombre de la secuencia de comandos del trabajo.
Parámetros de property
property params: Container
Contiene los parámetros de configuración proporcionados al trabajo.
property soar_job
property soar_job: SiemplifyJob
Representa la instancia subyacente del trabajo de SOAR de Google Security Operations.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
clase TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)
Bases: Job, Generic[ApiClient]
En esta sección, se describen los métodos de ciclo de vida que influyen en el procesamiento de trabajos. Las subclases no están obligadas a anularlos.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Contiene el cliente o los clientes de API que se usan para las interacciones de servicios externos.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
clase TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Bases: tuple
Atributos
Atributos | |
---|---|
success_list |
Es un alias para el número de campo 0. |
failure_list |
Es un alias para el campo número 1. |
TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value
TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value(param_name: str, param_csv_value: str | None, delimiter: str = ',') → list[str]
Valida y analiza un valor de parámetro separado por comas en una lista de elementos únicos. Esta función controla valores únicos, cadenas entre comillas y formatos mixtos.
Parámetros
Parámetros | |
---|---|
param_name |
Es la clave del parámetro. |
param_csv_value |
Es el valor del parámetro proporcionado en el parámetro job .
Si es None , se devuelve una lista vacía. |
Se genera el error
ValueError
: Cuando el recuento de comillas dobles no es válido, algunos valores no son válidos o algunos valores tienen comillas dobles que no coinciden.
Devoluciones
Es una lista de valores únicos proporcionados en el parámetro del trabajo. Si no se encuentran valores válidos, se devuelve una lista vacía.
Tipo de datos que se muestra
list[str]
class TIPCommon.base.job.data_models.JobParameter
clase TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Bases: object
Es un objeto de parámetro de secuencia de comandos general.
Atributos
Atributos | |
---|---|
full_dict |
dict[str, Any] Es el diccionario original que se recibió de la API. |
id |
int | None Es el ID del parámetro. |
is_mandatory |
bool Define si el parámetro es obligatorio o no. Nota: Este atributo tiene prioridad sobre |
name |
str | None Es el nombre del parámetro. |
type |
ActionParamType El tipo del parámetro. |
value |
Any Es el valor predeterminado del parámetro. Nota: Este atributo tiene prioridad sobre |
class TIPCommon.base.data_models.ActionJsonOutput
clase TIPCommon.base.data_models.ActionJsonOutput(title: 'str' = 'JsonResult', content: 'str' = '', type: 'str | None' = None, is_for_entity: 'bool' = False, json_result: 'JSON | None' = None)
Bases: object
Representa el resultado JSON estructurado de una acción.
class TIPCommon.base.data_models.ActionOutput
clase TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')
Bases: object
Representa la estructura de salida completa de una acción.
class TIPCommon.base.data_models.ConnectorJsonOutput
clase TIPCommon.base.data_models.ConnectorJsonOutput(alerts: 'list[AlertInfo | CaseInfo]', overflow_alerts: 'list[OverflowAlertDetails]' = <factory>, log_items: 'list' = <factory>, log_rows: 'list[str]' = <factory>, variables: 'dict' = <factory>)
Bases: object
Representa el resultado JSON estructurado de un conector.
class TIPCommon.base.data_models.ConnectorOutput
clase TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
Bases: object
Representa la estructura de salida completa de un conector.
TIPCommon.base.data_models.alert_info_from_json
TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo
Crea un objeto AlertInfo a partir de un JSON de atributos.
Devoluciones
Es el objeto AlertInfo creado.
Tipo de datos que se muestra
AlertInfo
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.