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 Action
SCRIPT_NAME
failed
.
property execution_state
property execution_state: ExecutionState
El estado de ejecución de la acción, un indicador de estado representado por un número entero que se devuelve a la plataforma.
Los posibles estados son los siguientes:
ExecutionState.COMPLETED = 0
ExecutionState.IN_PROGRESS = 1
ExecutionState.FAILED = 2
ExecutionState.TIMED_OUT = 3
Devuelve el objeto ExecutionState
que representa el estado de ejecución actual.
property html_reports
property html_reports: list[HTMLReport]
Todos los informes HTML de la lista se enviarán al resultado del caso de forma predeterminada.
Devuelve una lista de objetos HTMLReport
que representan las estadísticas de este caso.
property is_first_run
property is_first_run: bool
Indica si es la primera ejecución.
Se devuelve este resultado:
True
si es la primera vez que se ejecuta; de lo contrario, False
.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Devuelve el resultado JSON de la acción que se enviará al panel de casos.
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 |
str El nombre de la acción. |
Atributos
Atributos | |
---|---|
enrichment_data |
Este atributo contiene los datos de enriquecimiento de la entidad actual en cada una de las iteraciones de la entidad. Al final de cada iteración, el atributo 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 = 1
CASE_PRIORITIES = 7
CLOSE_CASE_REASONS = 5
CLOSE_ROOT_CAUSE = 6
CODE = 20
CONTENT = 11
DDL = 15
EMAIL_CONTENT = 10
ENTITY_TYPE = 13
MULTI_VALUES = 14
NULL = -1
PASSWORD = 12
PLAYBOOK_NAME = 2
STAGE = 4
STRING = 0
USER = 3
class TIPCommon.base.action.data_models.Attachment
clase TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)
Bases: object
Un archivo adjunto de resultado de secuencia de comandos de acción.
Esta clase es inmutable: una vez creada, sus atributos no se pueden modificar. Admite el cifrado con hash (por ejemplo, para usarlo en conjuntos o como claves de diccionario) y la comparación de igualdad mediante el operador ==
.
Atributos
Atributos | |
---|---|
title |
El título del archivo adjunto. Tipo: |
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 |
int ID del archivo adjunto. |
attachment_type |
str El tipo de archivo adjunto. |
description |
str La descripción del archivo adjunto. |
is_favorite |
bool Indica si el archivo adjunto está marcado como favorito. |
class TIPCommon.base.action.data_models.CaseComment
clase TIPCommon.base.action.data_models.CaseComment(comment: str, creator_user_id: str, comment_id: int, comment_type: int, case_id: int, is_favorite: bool, modification_time_unix_time_in_ms: int, creation_time_unix_time_in_ms: int, alert_identifier: str, creator_full_name: str | None = None, is_deleted: bool | None = None, last_editor: str | None = None, last_editor_full_name: str | None = None, modification_time_unix_time_in_ms_for_client: int | None = None, comment_for_client: str | None = None)
Bases: object
Un comentario de un caso.
Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
comment |
str El comentario. |
comment_for_client |
str | None Comentario para el cliente. |
modification_time_unix_time_in_ms_for_client |
int
Hora de modificación de |
last_editor |
str
El ID del último editor, como 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
El nombre completo del último usuario que ha editado el documento, como admin admin. |
is_deleted |
bool
Indica si el comentario ya se ha eliminado. |
creator_user_id |
str
El ID de usuario del creador, como 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
El nombre completo del creador, como Sistema. |
comment_id |
int Es el ID del comentario. |
comment_type |
int El tipo de comentario. |
case_id |
int ID del caso. |
is_favorite |
bool
Indica si el comentario está marcado como favorito. |
modification_time_unix_time_in_ms |
int
La hora de la última modificación del comentario en formato Unix, como 1686040471269. |
creation_time_unix_time_in_ms |
int
Hora de creación del comentario en formato Unix, como 1686040471269. |
alert_identifier |
str El identificador de la alerta, como SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E. |
clase TIPCommon.base.action.data_models.CaseInsight
clase TIPCommon.base.action.data_models.CaseInsight(triggered_by: str, title: str, content: str, severity: InsightSeverity, insight_type: InsightType, entity_identifier: str = '', additional_data: Any | None = None, additional_data_type: Any | None = None, additional_data_title: str | None = None)
Bases: object
Información valiosa sobre un caso.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str Título de la estadística. |
triggered_by |
str Nombre de la integración. |
content |
str El mensaje de la estadística. |
severity |
InsightSeverity Gravedad de la estadística. Los valores posibles son:
|
insight_type |
InsightType Tipo de estadística. Los valores posibles son:
|
entity_identifier |
str | None Identificador de la entidad. |
additional_data |
Any | None Datos adicionales. |
additional_data_type |
Any | None El tipo de datos adicionales. |
additional_data_title |
str | None Título de los datos adicionales. |
class TIPCommon.base.action.data_models.CasePriority
clase TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
CRITICAL = 100
HIGH = 80
INFORMATIONAL = 0
LOW = 40
MEDIUM = 60
class TIPCommon.base.action.data_models.CaseStage
clase TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
ASSESSMENT = 'Assessment'
IMPROVEMENT = 'Improvement'
INCIDENT = 'Incident'
INVESTIGATION = 'Investigation'
RESEARCH = 'Research'
TRIAGE = 'Triage'
class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
NO_CLEAR_CONCLUSION = 'No clear conclusion'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
LAB_TEST = 'Lab test'
OTHER = 'Other'
RULE_UNDER_CONSTRUCTION = 'Rule under construction'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
EXTERNAL_ATTACK = 'External attack'
INFRASTRUCTURE_ISSUE = 'Infrastructure issue'
IRRELEVANT_TCP_UDP_PORT = 'Irrelevant TCP/UDP port'
MISCONFIGURED_SYSTEM = 'Misconfigured system'
OTHER = 'Other'
SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'
SYSTEM_APPLICATION_MALFUNCTION = 'System/application malfunction'
SYSTEM_CLOCKED_THE_ATTACK = 'System blocked the attack'
UNFORESEEN_EFFECTS_OF_CHANGE = 'Unforeseen effects of change'
UNKNOWN = 'Unknown'
class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses
clase TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
EMPLOYEE_ERROR = 'Employee error'
HUMAN_ERROR = 'Human error'
LAB_TEST = 'Lab test'
LEGIT_ACTION = 'Legit action'
MISCONFIGURED_SYSTEM = 'Misconfigured system'
NONE = 'None'
NORMAL_BEHAVIOR = 'Normal behavior'
OTHER = 'Other'
PENETRATION_TEST = 'Penetration test'
RULE_UNDER_CONSTRUCTION = 'Rule under construction'
SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'
UNKNOWN = 'Unknown'
USER_MISTAKE = 'User mistake'
class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons
clase TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
### Constantes
INCONCLUSIVE = 3
MAINTENANCE = 2
MALICIOUS = 0
NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
clase TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
Bases: object
Contenido de un resultado de secuencia de comandos de una acción.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str | None El título del contenido. |
content |
str El contenido que se va a añadir a los resultados de la secuencia de comandos. |
class TIPCommon.base.action.data_models.DataTable
clase TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
Bases: object
Una tabla de datos de resultados de secuencias de comandos de acciones.
Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str | None Título de la tabla. |
data_table |
list[str] Lista de filas CSV que componen la tabla. |
class TIPCommon.base.action.data_models.EntityInsight
clase TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)
Bases: object
Una estadística de una entidad.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
entity |
Entity El objeto de entidad. |
message |
str El mensaje de la estadística. |
triggered_by |
str | None Nombre de la integración. |
original_requesting_user |
str | None El usuario original. |
class TIPCommon.base.action.data_models.EntityTypesEnum
clase TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
ADDRESS = 'ADDRESS'
ALERT = 'ALERT'
APPLICATION = 'APPLICATION'
CHILD_HASH = 'CHILDHASH'
CHILD_PROCESS = 'CHILDPROCESS'
CLUSTER = 'CLUSTER'
CONTAINER = 'CONTAINER'
CREDIT_CARD = 'CREDITCARD'
CVE = 'CVE'
CVE_ID = 'CVEID'
DATABASE = 'DATABASE'
DEPLOYMENT = 'DEPLOYMENT'
DESTINATION_DOMAIN = 'DESTINATIONDOMAIN'
DOMAIN = 'DOMAIN'
EMAIL_MESSAGE = 'EMAILSUBJECT'
EVENT = 'EVENT'
FILE_HASH = 'FILEHASH'
FILE_NAME = 'FILENAME'
GENERIC = 'GENERICENTITY'
HOST_NAME = 'HOSTNAME'
IP_SET = 'IPSET'
MAC_ADDRESS = 'MacAddress'
PARENT_HASH = 'PARENTHASH'
PARENT_PROCESS = 'PARENTPROCESS'
PHONE_NUMBER = 'PHONENUMBER'
POD = 'POD'
PROCESS = 'PROCESS'
SERVICE = 'SERVICE'
SOURCE_DOMAIN = 'SOURCEDOMAIN'
THREAT_ACTOR = 'THREATACTOR'
THREAT_CAMPAIGN = 'THREATCAMPAIGN'
THREAT_SIGNATURE = 'THREATSIGNATURE'
URL = 'DestinationURL'
USB = 'USB'
USER = 'USERUNIQNAME'
clase TIPCommon.base.action.data_models.ExecutionState
clase TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
COMPLETED = 0
FAILED = 2
IN_PROGRESS = 1
TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
clase TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
Bases: object
Objeto de parámetro de secuencia de comandos general.
Atributos
Atributos | |
---|---|
full_dict |
dict[str, Any] El diccionario original recibido de la API. |
id |
int | None Es el ID del parámetro. |
integration_identifier |
str El identificador de la integración, como VirusTotalV3. |
creation_time |
int Hora en la que se creó el parámetro. |
modification_time |
int Hora en la que se modificó el parámetro por última vez. |
is_mandatory |
bool Define si el parámetro es obligatorio o no. |
description |
str | None Descripción del parámetro. |
name |
str Nombre del parámetro. |
display_name |
str Nombre visible del parámetro. |
value |
Any El valor predeterminado del parámetro. |
type |
IntegrationParamType Tipo de parámetro. |
optional_values |
list DDL de valores opcionales para el DDL de tipo. |
class TIPCommon.base.action.data_models.HTMLReport
clase TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')
Bases: object
Un enlace de resultado de secuencia de comandos de acción.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el cifrado hash (almacenado en un conjunto o como clave de diccionario) y el operador ==
.
Atributos
Atributos | |
---|---|
title |
str | None El título del enlace. |
report_name |
str El nombre del informe. |
report_contents |
str El contenido HTML del informe. |
class TIPCommon.base.action.data_models.IntegrationParamType
clase TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Constantes
BOOLEAN = 0
EMAIL = 8
INTEGER = 1
IP = 4
NULL = -1
PASSWORD = 3
STRING = 2
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 | None El título del enlace. |
link |
str El enlace. |
class TIPCommon.base.action.data_models.ScriptParameter
clase TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Bases: object
Objeto de parámetro de secuencia de comandos general.
Atributos
Atributos | |
---|---|
full_dict |
dict[str, Any] Diccionario original recibido de la API. |
id |
int | None ID del parámetro. |
creation_time |
int Hora en la que se creó el parámetro. |
modification_time |
int Hora en la que se modificó el parámetro por última vez. |
custom_action_id |
int | None ID de la acción. |
is_mandatory |
bool Indica si el parámetro es obligatorio o no. |
default_value |
Any El valor predeterminado del parámetro. Este parámetro tiene prioridad sobre el parámetro |
description |
str | None Descripción del parámetro. |
name |
str | None Nombre del parámetro. |
value |
Any El valor del parámetro. Este valor tiene prioridad sobre el parámetro |
type |
ActionParamType Tipo de parámetro. |
optional_values |
list DDL de valores opcionales para el DDL de tipo. |
class TIPCommon.base.interfaces.apiable.Apiable
clase TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
Bases: ABC, Generic[ApiParams]
Interfaz para clases que gestionan llamadas a APIs de servicios externos.
class TIPCommon.base.interfaces.authable.Authable
clase TIPCommon.base.interfaces.authable.Authable
Bases: ABC, Generic[AuthParams]
Interfaz para clases que gestionan la autenticación con servicios externos.
Métodos abstractos
Métodos abstractos | |
---|---|
authenticat_session(params: Authparams) → None |
Autentica el atributo self.session de la clase mediante params .
Este método te autentica en el servicio con el que interactúa la sesión después de crear un objeto con esa sesión. |
Atributos
Atributos | |
---|---|
params |
object , dataclass , TypedDict , namedtuple o cualquier otro elemento que contenga todos los parámetros de autenticación.Parámetros de autenticación. |
class TIPCommon.base.interfaces.logger.Logger
clase TIPCommon.base.interfaces.logger.Logger
Bases: ABC
Una interfaz de registro diseñada para secuencias de comandos de mercados que verifica la compatibilidad cuando se sustituye o se simula el registrador transferido.
Métodos abstractos
Métodos abstractos | |
---|---|
debug(msg: str, *args, **kwargs) → None |
Registra un mensaje de depuración. |
error(error_msg: str, *args, **kwargs) → None |
Registra un mensaje de error. |
exception(ex: Exception, *args, **kwargs) → None |
Registra un mensaje de excepción. |
info(msg: str, *args, **kwargs) → None |
Registra un mensaje informativo. |
warn(warning_msg: str, *args, **kwargs) → None |
Registra un mensaje de advertencia. |
class TIPCommon.base.interfaces.session.Session
clase TIPCommon.base.interfaces.session.Session
Bases: ABC, Generic[_R]
Esta clase gestiona las sesiones de la API mediante un objeto de sesión. Admite varios tipos de sesiones y simulaciones con bibliotecas como requests
o httpx
.
Atributos
Atributos | |
---|---|
headers |
dict |
verify |
bool |
Métodos abstractos
Métodos abstractos | |
---|---|
delete(url: str, *args, **kwargs)→ _R |
Elimina un recurso del servidor. |
get(url: str, *args, **kwargs)→ _R |
Obtiene un recurso del servidor. |
patch(url: str, *args, **kwargs) → _R |
Aplica un parche a un recurso en el servidor. |
post(url: str, *args, **kwargs) → _R |
Envía un recurso al servidor. |
put(url: str, *args, **kwargs) → _R |
Coloca (actualiza o crea) un recurso en el servidor. |
request(method: str, *args, **kwargs) → _R |
Hace una solicitud al servidor. |
class TIPCommon.base.job.base_job.Job
clase TIPCommon.base.job.base_job.Job(name: str)
Bases: ABC, Generic[ApiClient]
Clase que representa una secuencia de comandos de trabajo en Google Security Operations SOAR.
Métodos
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Proporciona el cliente o los clientes de la API para interactuar con servicios externos.
property error_msg
property error_msg: str
Almacena cualquier mensaje de error que se haya producido durante la ejecución del trabajo.
property job_start_time
property job_start_time: int
Representa la marca de tiempo en la que se inició el trabajo.
Registrador de propiedades
property logger: ScriptLogger
Proporciona funciones de registro para la secuencia de comandos del trabajo.
Nombre de la propiedad
property name: str
Contiene el nombre de la secuencia de comandos de la tarea.
Parámetros de propiedad
property params: Container
Contiene los parámetros de configuración proporcionados a la tarea.
property soar_job
property soar_job: SiemplifyJob
Representa la instancia de trabajo de Google Security Operations SOAR subyacente.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
clase TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)
Bases: Job, Generic[ApiClient]
En esta sección se describen los métodos del ciclo de vida que influyen en el procesamiento de los trabajos. No es obligatorio que las subclases los anulen.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Contiene el cliente o los clientes de la API que se usan para las interacciones con servicios externos.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
clase TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Bases: tupla
Atributos
Atributos | |
---|---|
success_list |
Alias del campo número 0. |
failure_list |
Alias del campo número 1. |
TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value
TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value(param_name: str, param_csv_value: str | None, delimiter: str = ',') → list[str]
Valida y analiza un valor de parámetro separado por comas en una lista de elementos únicos. Esta función admite valores únicos, cadenas entre comillas y formatos mixtos.
Parámetros
Parámetros | |
---|---|
param_name |
La clave del parámetro. |
param_csv_value |
El valor del parámetro proporcionado en el parámetro job .
Si None , se devuelve una lista vacía. |
Aumentos
ValueError
: cuando el recuento de comillas dobles no es válido, algunos valores no son válidos o algunos valores tienen comillas dobles que no coinciden.
Devoluciones
Lista de valores únicos proporcionados en el parámetro de la tarea. Si no se encuentra ningún valor válido, se devuelve una lista vacía.
Tipo de devolución
list[str]
class TIPCommon.base.job.data_models.JobParameter
clase TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Bases: object
Objeto de parámetro de secuencia de comandos general.
Atributos
Atributos | |
---|---|
full_dict |
dict[str, Any] El diccionario original recibido de la API. |
id |
int | None Es el ID del parámetro. |
is_mandatory |
bool Define si el parámetro es obligatorio o no. Nota: Este atributo tiene prioridad sobre |
name |
str | None El nombre del parámetro. |
type |
ActionParamType Tipo de parámetro. |
value |
Any El valor predeterminado del parámetro. Nota: Este atributo tiene prioridad sobre |
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.