TIPCommon.base

TIPCommon.base.action.action_parser.parse_case_attachment

TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment

Analisa um anexo JSON e retorna um objeto CaseAttachment.

Parâmetros

Parâmetros
attachment Um objeto JSON de resposta que representa o anexo.

Retorna

O objeto CaseAttachment analisado.

Tipo de retorno

CaseAttachment

TIPCommon.base.action.action_parser.parse_case_comment

TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment

Analisa um comentário JSON e retorna um objeto CaseComment.

Parâmetros

Parâmetros
comment Um objeto JSON de resposta que representa o comentário.

Retorna

O objeto CaseComment analisado.

Tipo de retorno

CaseComment

class TIPCommon.base.action.base_action.Action

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

Bases: ABC, Generic[ApiClient]

Uma implementação de infraestrutura genérica unificada para o desenvolvimento de ações do Google SecOps.

A classe base Action fornece métodos abstratos de modelo para substituir nas classes de ação herdadas, propriedades genéricas e fluxos gerais como métodos executados ao chamar o método "run" da ação.

Parâmetros

Parâmetros
name str

O nome do script da ação.

Atributos

Atributos
_soar_action O objeto do SDK SiemplifyAction.

Tipo: SiemplifyAction

_api_client O cliente de API da integração.

Tipo: Apiable

_name O nome do script que usa essa ação.

Tipo: str

_action_start_time O horário de início da ação.

Tipo: int

_logger O objeto de logger usado para registrar ações.

Tipo: SiemplifyLogger

_params O contêiner de parâmetros para essa ação.

Tipo: Container

global_context Um dicionário para armazenar o contexto, se necessário.

Tipo: dict

_entity_types Os tipos de entidade compatíveis com a ação.

Tipo: list[EntityTypesEnum]

_entities_to_update As entidades a serem atualizadas quando a ação terminar.

Tipo: list[Entity]

json_results Os resultados em JSON da ação.

Tipo: JSON

_attachments Os anexos de resultado do caso a serem adicionados.

Tipo: list[Attachment]

_contents O conteúdo do resultado do caso a ser adicionado.

Tipo: list[Content]

_data_tables As tabelas de dados de resultados de caso a serem adicionadas.

Tipo: list[DataTable]

_html_reports Os relatórios HTML de resultados de caso a serem adicionados.

Tipo: list[HTMLReport]

Os links de resultado do caso a serem adicionados.

Tipo: list[Link]

_entity_insights Os insights da entidade de caso a serem adicionados.

Tipo: list[EntityInsight]

_case_insights Os insights de caso a serem adicionados.

Tipo: list[CaseInsight]

_execution_state O estado de execução final da ação.

Tipo: ExecutionState

_result_value O valor do resultado final da ação.

Tipo: bool

_output_message A mensagem de saída da ação quando ela é concluída.

Tipo: str

_error_output_message A mensagem de saída da ação quando ela falha.

Tipo: str

Métodos

- run() Executa a ação.
- _get_adjusted_json_results() Ajusta o resultado JSON para uma estrutura específica.

Métodos abstratos

Métodos abstratos
_validate_params() Valida os parâmetros desta ação.
_init_managers() Inicializa e retorna um objeto gerenciador.
_perform_action() Executa a lógica principal da ação.

Outros métodos

Esses são métodos chamados durante a execução da ação e afetam a fase de processamento de alertas, mas não são obrigatórios para substituição.

  • _get_entity_types()
  • _finalize_action_on_success()
  • _finalize_action_on_failure()
  • _on_entity_failure()
  • _handle_timeout()
  • _extract_action_parameters()
  • _finalize()

Métodos de wrapper do 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()

Exemplo

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

Retorna um int que representa o horário de início da ação no Unix.

property api_client

propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Retorna um objeto Apiable.

Anexos de propriedade

property attachments: list[Attachment]

Todos os anexos na lista são enviados para o resultado do caso por padrão.

Retorna uma lista de objetos Attachment que representam os insights para esse caso.

property case_insights

property case_insights: list[CaseInsight]

Por padrão, todos os insights da lista são enviados para o resultado do caso.

Retorna uma lista de objetos CaseInsight que representam os insights para esse caso.

Conteúdo da propriedade

property contents: list[Content]

Todo o conteúdo da lista é enviado para o resultado do caso por padrão.

Retorna uma lista de objetos de conteúdo que representam os insights para esse caso.

property data_tables

property data_tables: list[DataTable]

Por padrão, todas as tabelas de dados na lista são enviadas para o resultado do caso.

Retorna uma lista de objetos DataTable que representam os insights para esse caso.

property entities_to_update

property entities_to_update: list[DomainEntityInfo]

Todas as entidades na lista são enviadas à plataforma para atualização.

Retorna uma lista de objetos Entity que representam as entidades a serem atualizadas no caso.

property entity_insights

property entity_insights: list[EntityInsight]

Por padrão, todos os insights de entidade na lista são enviados para o resultado do caso.

Retorna uma lista de objetos EntityInsight que representam os insights para esse caso.

property entity_types

property entity_types: list[EntityTypesEnum]

Se a ação funcionar com entidades, ela só vai processar aquelas cujo tipo está na lista entity_types. Caso contrário, a ação vai ignorar a entidade.

Retorna uma lista de objetos EntityTypesEnum que representam os tipos de entidade que a ação pode processar.

property error_output_message

property error_output_message: str

A mensagem de saída da ação em caso de falha na execução.

Uma mensagem de saída que aparece em caso de falha durante o tempo de execução da ação. O valor padrão é ActionSCRIPT_NAMEfailed.

property execution_state

property execution_state: ExecutionState

O estado de execução da ação, um indicador de status representado por um número inteiro para transmitir de volta à plataforma.

Os status possíveis são os seguintes:

  • ExecutionState.COMPLETED = 0
  • ExecutionState.IN_PROGRESS = 1
  • ExecutionState.FAILED = 2
  • ExecutionState.TIMED_OUT = 3

Retorna o objeto ExecutionState que representa o estado de execução atual.

property html_reports

property html_reports: list[HTMLReport]

Por padrão, todos os relatórios HTML na lista são enviados para o resultado do caso.

Retorna uma lista de objetos HTMLReport que representam os insights para esse caso.

property is_first_run

property is_first_run: bool

Indica se esta é a primeira execução.

Retorna:

True se for a primeira execução, False caso contrário.

property json_results

property json_results: Dict[str, Any] | List[Dict[str, Any]]

Retorna o resultado JSON da ação a ser enviado para o mural de casos.

property links: list[Link]

Todos os links na lista são enviados para o resultado do caso por padrão.

Retorna uma lista de objetos Link que representam os insights para esse caso.

Registrador de propriedade

property logger: NewLineLogger

Retorna o objeto NewLineLogger para ações.

Nome da propriedade

property name: str

property output_message

property output_message: str

A mensagem de saída da ação em caso de execução bem-sucedida.

A mensagem de saída que resume o resultado da ação.

Parâmetros de propriedade

property params: [Container]

Retorna um objeto Container que descreve os parâmetros da ação, com cada parâmetro exposto como um atributo snake_case.

property result_value

property result_value: bool

O valor do resultado da ação a ser transmitido de volta para a plataforma.

Valores possíveis:

  • True: ação concluída
  • False: falha na ação

property soar_action

property soar_action: SiemplifyAction

Retorna o objeto SiemplifyAction do SDK.

class TIPCommon.base.action.base_enrich_action.EnrichAction

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

Bases: Action

Uma classe que representa uma ação de enriquecimento de entidade.

Essa classe herda da classe TIPCommon.base.actions.base_action::Action.

Parâmetros

Parâmetros
name str

O nome da ação.

Atributos

Atributos
enrichment_data

Esse atributo contém os dados de enriquecimento da entidade atual em cada uma das iterações de entidade. No final de cada iteração, o atributo additional_properties da entidade é atualizado com self.enrichment_data, o que significa que esse valor é definido sempre com o novo valor.

Tipo: dict

entity_results Resultados de entidade incluídos na saída JSON para esse objeto.

Tipo: Any

global_context

Um dicionário para armazenar o contexto, se necessário.

Tipo: dict

Métodos abstratos

Métodos abstratos
_get_entity_types() Recebe o tipo de entidades em que a ação é executada.
_perform_enrich_action() Executa a lógica de enriquecimento principal em uma entidade.

Métodos particulares

Métodos particulares
_perform_action()

Esse método combina os outros métodos abstratos com mais lógica de enriquecimento OOTB e a transmite para a classe mãe para usar no método start().

class TIPCommon.base.action.data_models.ActionParamType

class TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • BOOLEAN = 1

  • CASE_PRIORITIES = 7

  • CLOSE_CASE_REASONS = 5

  • CLOSE_ROOT_CAUSE = 6

  • CODE = 20

  • CONTENT = 11

  • DDL = 15

  • EMAIL_CONTENT = 10

  • ENTITY_TYPE = 13

  • MULTI_VALUES = 14

  • NULL = -1

  • PASSWORD = 12

  • PLAYBOOK_NAME = 2

  • STAGE = 4

  • STRING = 0

  • USER = 3

class TIPCommon.base.action.data_models.Attachment

class TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)

Bases: object

Um anexo de resultado de script de ação.

Essa classe é imutável: depois de criada, os atributos dela não podem ser modificados. Ele aceita hash (por exemplo, uso em conjuntos ou como chaves de dicionário) e comparação de igualdade usando o operador ==.

Atributos

Atributos
title O título do anexo.

Tipo: str | None

filename O nome do arquivo do anexo.

Tipo: str

file_contents O conteúdo do arquivo anexado.

Tipo: bytes

additional_data Outros dados.

Tipo: dict | None

class TIPCommon.base.action.data_models.CaseAttachment

class TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)

Bases: object

Um anexo de caso.

Essa classe é imutável. Depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
attachment_id int

O ID do anexo.

attachment_type str

O tipo do anexo.

description str

A descrição do anexo.

is_favorite bool

Indica se o anexo está marcado como favorito.

class TIPCommon.base.action.data_models.CaseComment

class TIPCommon.base.action.data_models.CaseComment(comment: str, creator_user_id: str, comment_id: int, comment_type: int, case_id: int, is_favorite: bool, modification_time_unix_time_in_ms: int, creation_time_unix_time_in_ms: int, alert_identifier: str, creator_full_name: str | None = None, is_deleted: bool | None = None, last_editor: str | None = None, last_editor_full_name: str | None = None, modification_time_unix_time_in_ms_for_client: int | None = None, comment_for_client: str | None = None)

Bases: object

Um comentário de caso.

Essa classe é imutável. Depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
comment str

O comentário.

comment_for_client str | None

O comentário para o cliente.

modification_time_unix_time_in_ms_for_client int

O horário de modificação do comment_for_client.

last_editor str

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

last_editor_full_name str

O nome completo do último usuário editor, como admin admin.

is_deleted bool

Indica se o comentário já foi excluído.

creator_user_id str

O ID do usuário criador, como 77bdb7a4-8484-481d-9482-2449e33f9518.

creator_full_name str

O nome completo do criador, como System.

comment_id int

O ID do comentário.

comment_type int

O tipo do comentário.

case_id int

O ID do caso.

is_favorite bool

Indica se o comentário está marcado como favorito.

modification_time_unix_time_in_ms int

O horário da última modificação do comentário em Unix, como 1686040471269.

creation_time_unix_time_in_ms int

O horário de criação do comentário em Unix, como 1686040471269.

alert_identifier str

O identificador do alerta, como SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E.

class TIPCommon.base.action.data_models.CaseInsight

class TIPCommon.base.action.data_models.CaseInsight(triggered_by: str, title: str, content: str, severity: InsightSeverity, insight_type: InsightType, entity_identifier: str = '', additional_data: Any | None = None, additional_data_type: Any | None = None, additional_data_title: str | None = None)

Bases: object

Uma análise de caso.

Essa classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
title str

O título do insight.

triggered_by str

Nome da integração.

content str

A mensagem do insight.

severity InsightSeverity

Gravidade do insight. Os valores possíveis são:

  • info
  • warning
  • error
insight_type InsightType

Tipo de insight. Os valores possíveis são:

  • general
  • entity
entity_identifier str | None

O identificador da entidade.

additional_data Any | None

Outros dados.

additional_data_type Any | None

O tipo de dados adicionais.

additional_data_title str | None

O título dos dados adicionais.

class TIPCommon.base.action.data_models.CasePriority

class TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIONAL = 0

  • LOW = 40

  • MEDIUM = 60

class TIPCommon.base.action.data_models.CaseStage

class TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • ASSESSMENT = 'Assessment'

  • IMPROVEMENT = 'Improvement'

  • INCIDENT = 'Incident'

  • INVESTIGATION = 'Investigation'

  • RESEARCH = 'Research'

  • TRIAGE = 'Triage'

class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • NO_CLEAR_CONCLUSION = 'No clear conclusion'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • LAB_TEST = 'Lab test'

  • OTHER = 'Other'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • EXTERNAL_ATTACK = 'External attack'

  • INFRASTRUCTURE_ISSUE = 'Infrastructure issue'

  • IRRELEVANT_TCP_UDP_PORT = 'Irrelevant TCP/UDP port'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • OTHER = 'Other'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • SYSTEM_APPLICATION_MALFUNCTION = 'System/application malfunction'

  • SYSTEM_CLOCKED_THE_ATTACK = 'System blocked the attack'

  • UNFORESEEN_EFFECTS_OF_CHANGE = 'Unforeseen effects of change'

  • UNKNOWN = 'Unknown'

class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • EMPLOYEE_ERROR = 'Employee error'

  • HUMAN_ERROR = 'Human error'

  • LAB_TEST = 'Lab test'

  • LEGIT_ACTION = 'Legit action'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • NONE = 'None'

  • NORMAL_BEHAVIOR = 'Normal behavior'

  • OTHER = 'Other'

  • PENETRATION_TEST = 'Penetration test'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • UNKNOWN = 'Unknown'

  • USER_MISTAKE = 'User mistake'

class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons

class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

### Constantes

  • INCONCLUSIVE = 3

  • MAINTENANCE = 2

  • MALICIOUS = 0

  • NOT_MALICIOUS = 1

class TIPCommon.base.action.data_models.Content

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

Bases: object

Um conteúdo de resultado de script de ação.

Essa classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
title str | None

O título do conteúdo.

content str

O conteúdo a ser adicionado aos resultados do script.

class TIPCommon.base.action.data_models.DataTable

class TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')

Bases: object

Uma tabela de dados de resultado do script de ação.

Essa classe é imutável. Depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
title str | None

O título da tabela.

data_table list[str]

Uma lista de linhas CSV que constroem a tabela.

class TIPCommon.base.action.data_models.EntityInsight

class TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)

Bases: object

Um insight de entidade.

Essa classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
entity Entity

O objeto da entidade.

message str

A mensagem do insight.

triggered_by str | None

O nome da integração.

original_requesting_user str | None

O usuário original.

class TIPCommon.base.action.data_models.EntityTypesEnum

class TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • ADDRESS = 'ADDRESS'

  • ALERT = 'ALERT'

  • APPLICATION = 'APPLICATION'

  • CHILD_HASH = 'CHILDHASH'

  • CHILD_PROCESS = 'CHILDPROCESS'

  • CLUSTER = 'CLUSTER'

  • CONTAINER = 'CONTAINER'

  • CREDIT_CARD = 'CREDITCARD'

  • CVE = 'CVE'

  • CVE_ID = 'CVEID'

  • DATABASE = 'DATABASE'

  • DEPLOYMENT = 'DEPLOYMENT'

  • DESTINATION_DOMAIN = 'DESTINATIONDOMAIN'

  • DOMAIN = 'DOMAIN'

  • EMAIL_MESSAGE = 'EMAILSUBJECT'

  • EVENT = 'EVENT'

  • FILE_HASH = 'FILEHASH'

  • FILE_NAME = 'FILENAME'

  • GENERIC = 'GENERICENTITY'

  • HOST_NAME = 'HOSTNAME'

  • IP_SET = 'IPSET'

  • MAC_ADDRESS = 'MacAddress'

  • PARENT_HASH = 'PARENTHASH'

  • PARENT_PROCESS = 'PARENTPROCESS'

  • PHONE_NUMBER = 'PHONENUMBER'

  • POD = 'POD'

  • PROCESS = 'PROCESS'

  • SERVICE = 'SERVICE'

  • SOURCE_DOMAIN = 'SOURCEDOMAIN'

  • THREAT_ACTOR = 'THREATACTOR'

  • THREAT_CAMPAIGN = 'THREATCAMPAIGN'

  • THREAT_SIGNATURE = 'THREATSIGNATURE'

  • URL = 'DestinationURL'

  • USB = 'USB'

  • USER = 'USERUNIQNAME'

class TIPCommon.base.action.data_models.ExecutionState

class TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • COMPLETED = 0

  • FAILED = 2

  • IN_PROGRESS = 1

  • TIMED_OUT = 3

class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter

class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])

Bases: object

Um objeto de parâmetro de script geral.

Atributos

Atributos
full_dict dict[str, Any]

O dicionário original recebido da API.

id int | None

O ID do parâmetro.

integration_identifier str

O identificador da integração, como VirusTotalV3.

creation_time int

O horário em que o parâmetro foi criado.

modification_time int

O horário em que o parâmetro foi modificado pela última vez.

is_mandatory bool

Defina se o parâmetro é obrigatório ou não.

description str | None

A descrição do parâmetro.

name str

O nome do parâmetro.

display_name str

O nome de exibição do parâmetro.

value Any

O valor padrão do parâmetro.

type IntegrationParamType

O tipo do parâmetro.

optional_values list

Uma DDL de valores opcionais para a DDL de tipo.

class TIPCommon.base.action.data_models.HTMLReport

class TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')

Bases: object

Um link de resultado do script de ação.

Essa classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
title str | None

O título do link.

report_name str

O nome do relatório.

report_contents str

O conteúdo HTML do relatório.

class TIPCommon.base.action.data_models.IntegrationParamType

class TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • BOOLEAN = 0

  • EMAIL = 8

  • INTEGER = 1

  • IP = 4

  • NULL = -1

  • PASSWORD = 3

  • STRING = 2

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

Bases: object

Um link de resultado do script de ação.

Essa classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe oferece suporte a hash (armazenado em um conjunto ou como uma chave de dicionário) e ao operador ==.

Atributos

Atributos
title str | None

O título do link.

link str

O link.

class TIPCommon.base.action.data_models.ScriptParameter

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

Bases: object

Um objeto de parâmetro de script geral.

Atributos

Atributos
full_dict dict[str, Any]

Dicionário original recebido da API.

id int | None

ID do parâmetro.

creation_time int

Hora em que o parâmetro foi criado.

modification_time int

Hora em que o parâmetro foi modificado pela última vez.

custom_action_id int | None

O ID da ação.

is_mandatory bool

Indica se o parâmetro é obrigatório ou não.

default_value Any

O valor padrão do parâmetro.

Esse parâmetro tem prioridade sobre o value nos playbooks.

description str | None

Descrição do parâmetro.

name str | None

Nome do parâmetro.

value Any

O valor do parâmetro.

Esse valor tem prioridade sobre o parâmetro default_value nas ações manuais.

type ActionParamType

O tipo do parâmetro.

optional_values list

DDL de valores opcionais para o tipo DDL.

class TIPCommon.base.interfaces.apiable.Apiable

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

Bases: ABC, Generic[ApiParams]

Uma interface para classes que gerenciam chamadas de API para serviços externos.

class TIPCommon.base.interfaces.authable.Authable

class TIPCommon.base.interfaces.authable.Authable

Bases: ABC, Generic[AuthParams]

Uma interface para classes que gerenciam a autenticação com serviços externos.

Métodos abstratos

Métodos abstratos
authenticat_session(params: Authparams) → None Autentique o atributo self.session da classe usando params.

Esse método autentica você no serviço com que a sessão interage após a criação de um objeto usando essa sessão.

Atributos

Atributos
params object, dataclass, TypedDict, namedtuple ou qualquer coisa que contenha todos os parâmetros de autenticação.

Parâmetros de autenticação.

class TIPCommon.base.interfaces.logger.Logger

class TIPCommon.base.interfaces.logger.Logger

Bases: ABC

Uma interface de geração de registros projetada para scripts do marketplace, que verifica a compatibilidade quando o logger transmitido é substituído ou simulado.

Métodos abstratos

Métodos abstratos
debug(msg: str, *args, **kwargs) → None Registra uma mensagem de depuração.
error(error_msg: str, *args, **kwargs) → None Registra uma mensagem de erro.
exception(ex: Exception, *args, **kwargs) → None Registra uma mensagem de exceção.
info(msg: str, *args, **kwargs) → None Registra uma mensagem de informação.
warn(warning_msg: str, *args, **kwargs) → None Registra uma mensagem de aviso.

class TIPCommon.base.interfaces.session.Session

class TIPCommon.base.interfaces.session.Session

Bases: ABC, Generic[_R]

Essa classe gerencia sessões de API usando um objeto de sessão. Ele é compatível com vários tipos de sessões e simulações com bibliotecas como requests ou httpx.

Atributos

Atributos
headers dict
verify bool

Métodos abstratos

Métodos abstratos
delete(url: str, *args, **kwargs)→ _R Exclui um recurso do servidor.
get(url: str, *args, **kwargs)→ _R Recebe um recurso do servidor.
patch(url: str, *args, **kwargs) → _R Adiciona um patch a um recurso no servidor.
post(url: str, *args, **kwargs) → _R Posta um recurso no servidor.
put(url: str, *args, **kwargs) → _R Coloca (atualiza ou cria) um recurso no servidor.
request(method: str, *args, **kwargs) → _R Faz uma solicitação ao servidor.

class TIPCommon.base.job.base_job.Job

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

Bases: ABC, Generic[ApiClient]

Uma classe que representa um script de job no SOAR do Google Security Operations.

Métodos

  • start(**kwargs) → None

property api_client

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

Fornece o cliente ou os clientes de API para interagir com serviços externos.

property error_msg

property error_msg: str

Armazena qualquer mensagem de erro encontrada durante a execução do job.

property job_start_time

property job_start_time: int

Representa o carimbo de data/hora em que o job foi iniciado.

Registrador de propriedade

property logger: ScriptLogger

Fornece funcionalidade de geração de registros para o script do job.

Nome da propriedade

property name: str

Contém o nome do script do job.

Parâmetros de propriedade

property params: Container

Contém os parâmetros de configuração fornecidos ao job.

property soar_job

property soar_job: SiemplifyJob

Representa a instância do job SOAR do Google Security Operations.

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)

Bases: Job, Generic[ApiClient]

Esta seção descreve os métodos de ciclo de vida que influenciam o processamento de jobs. As subclasses não precisam substituir esses métodos.

property api_client

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

Contém o cliente ou os clientes de API usados para interações de serviços externos.

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

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

Bases: tuple

Atributos

Atributos
success_list Alias do campo número 0.
failure_list Alias do 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 e analisa um valor de parâmetro separado por vírgulas em uma lista de elementos exclusivos. Essa função processa valores únicos, strings entre aspas e formatos mistos.

Parâmetros

Parâmetros
param_name A chave do parâmetro.
param_csv_value O valor do parâmetro fornecido no parâmetro job. Se None, uma lista vazia será retornada.

Gera

ValueError: quando a contagem de aspas duplas é inválida, alguns valores são inválidos ou alguns valores têm aspas duplas incompatíveis.

Retorna

Uma lista de valores únicos fornecidos no parâmetro do job. Se nenhum valor válido for encontrado, uma lista vazia será retornada.

Tipo de retorno

list[str]

class TIPCommon.base.job.data_models.JobParameter

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

Bases: object

Um objeto de parâmetro de script geral.

Atributos

Atributos
full_dict dict[str, Any]

O dict original recebido da API.

id int | None

O ID do parâmetro.

is_mandatory bool

Defina se o parâmetro é obrigatório ou não.

Observação: esse atributo tem prioridade sobre value nos playbooks.

name str | None

O nome do parâmetro.

type ActionParamType

O tipo do parâmetro.

value Any

O valor padrão do parâmetro.

Observação: esse atributo tem prioridade sobre default_value em ações manuais.

class TIPCommon.base.data_models.ActionJsonOutput

class TIPCommon.base.data_models.ActionJsonOutput(title: 'str' = 'JsonResult', content: 'str' = '', type: 'str | None' = None, is_for_entity: 'bool' = False, json_result: 'JSON | None' = None)

Bases: object

Representa a saída JSON estruturada de uma ação.

class TIPCommon.base.data_models.ActionOutput

class TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')

Bases: object

Representa a estrutura de saída completa de uma ação.

class TIPCommon.base.data_models.ConnectorJsonOutput

class TIPCommon.base.data_models.ConnectorJsonOutput(alerts: 'list[AlertInfo | CaseInfo]', overflow_alerts: 'list[OverflowAlertDetails]' = <factory>, log_items: 'list' = <factory>, log_rows: 'list[str]' = <factory>, variables: 'dict' = <factory>)

Bases: object

Representa a saída JSON estruturada de um conector.

class TIPCommon.base.data_models.ConnectorOutput

class TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')

Bases: object

Representa a estrutura de saída completa de um conector.

TIPCommon.base.data_models.alert_info_from_json

TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo

Cria um objeto AlertInfo de um JSON de atributos.

Retorna

O objeto AlertInfo criado.

Tipo de retorno

AlertInfo

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.