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 devolve um objeto CaseAttachment.

Parâmetros

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

Devoluções

O objeto CaseAttachment analisado.

Tipo devolvido

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 devolve um objeto CaseComment.

Parâmetros

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

Devoluções

O objeto CaseComment analisado.

Tipo devolvido

CaseComment

class TIPCommon.base.action.base_action.Action

classe 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 modelos para substituir nas classes de ações herdadas, propriedades genéricas e fluxos gerais como métodos que são executados quando se chama o método de execução da ação.

Parâmetros

Parâmetros
name str

O nome do script da ação.

Atributos

Atributos
_soar_action O objeto SiemplifyAction SDK.

Tipo: SiemplifyAction

_api_client O cliente API da integração.

Tipo: Apiable

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

Tipo: str

_action_start_time A hora de início da ação.

Tipo: int

_logger O objeto de registo usado para registar ações.

Tipo: SiemplifyLogger

_params O contentor de parâmetros para esta ação.

Tipo: Container

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

Tipo: dict

_entity_types Os tipos de entidades suportados pela ação.

Tipo: list[EntityTypesEnum]

_entities_to_update As entidades a atualizar quando a ação terminar.

Tipo: list[Entity]

json_results Os resultados JSON da ação.

Tipo: JSON

_attachments Os anexos dos resultados do registo a adicionar.

Tipo: list[Attachment]

_contents O conteúdo do resultado da caixa a adicionar.

Tipo: list[Content]

_data_tables As tabelas de dados de resultados de registos a adicionar.

Tipo: list[DataTable]

_html_reports Os relatórios HTML de resultados dos testes a adicionar.

Tipo: list[HTMLReport]

Os links dos resultados dos registos a adicionar.

Tipo: list[Link]

_entity_insights As estatísticas de entidades de registos a adicionar.

Tipo: list[EntityInsight]

_case_insights As estatísticas do registo a adicionar.

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 é bem-sucedida.

Tipo: str

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

Tipo: str

Métodos

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

Métodos abstratos

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

Métodos adicionais

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

  • _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

Devolve um int que representa a hora de início da ação no formato Unix.

property api_client

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

Devolve um objeto Apiable.

Anexos da propriedade

property attachments: list[Attachment]

Por predefinição, todos os anexos na lista são enviados para o resultado do registo.

Devolve uma lista de objetos Attachment que representam as estatísticas deste registo.

property case_insights

property case_insights: list[CaseInsight]

Por predefinição, todas as estatísticas do registo na lista são enviadas para o resultado do registo.

Devolve uma lista de objetos CaseInsight que representam as estatísticas deste registo.

Conteúdos da propriedade

property contents: list[Content]

Por predefinição, todo o conteúdo da lista é enviado para o resultado do registo.

Devolve uma lista de objetos Content que representam as estatísticas deste registo.

property data_tables

property data_tables: list[DataTable]

Por predefinição, todas as tabelas de dados na lista são enviadas para o resultado da ocorrência.

Devolve uma lista de objetos DataTable que representam as estatísticas deste registo.

property entities_to_update

property entities_to_update: list[DomainEntityInfo]

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

Devolve uma lista de objetos Entity que representam as entidades que devem ser atualizadas no registo.

property entity_insights

property entity_insights: list[EntityInsight]

Por predefinição, todas as estatísticas das entidades na lista são enviadas para o resultado do registo.

Devolve uma lista de objetos EntityInsight que representam as estatísticas deste registo.

property entity_types

property entity_types: list[EntityTypesEnum]

Se a ação funcionar com entidades, processa apenas as entidades cujo tipo esteja na lista entity_types. Caso contrário, a ação ignora a entidade.

Devolve uma lista de objetos EntityTypesEnum que representam os tipos de entidades 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 deve aparecer em caso de falha durante o tempo de execução da ação. O valor predefinido é ActionSCRIPT_NAMEfailed.

property execution_state

property execution_state: ExecutionState

O estado de execução da ação: um indicador de estado representado por um número inteiro a transmitir novamente à plataforma.

Os estados possíveis são os seguintes:

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

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

property html_reports

property html_reports: list[HTMLReport]

Por predefinição, todos os relatórios HTML na lista são enviados para o resultado do registo.

Devolve uma lista de objetos HTMLReport que representam as estatísticas deste registo.

property is_first_run

property is_first_run: bool

Indica se é a primeira execução.

Devoluções:

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

property json_results

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

Devolve o resultado JSON da ação a ser enviado para o mural do registo.

property links: list[Link]

Por predefinição, todos os links na lista são enviados para o resultado do registo.

Devolve uma lista de objetos Link que representam as estatísticas deste registo.

registador depropriedades

property logger: NewLineLogger

Devolve 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]

Devolve 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 novamente à plataforma.

Valores possíveis:

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

property soar_action

property soar_action: SiemplifyAction

Devolve o objeto SiemplifyAction do SDK.

class TIPCommon.base.action.base_enrich_action.EnrichAction

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

Bases: ação

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

Esta turma herda da turma TIPCommon.base.actions.base_action::Action.

Parâmetros

Parâmetros
name str

O nome da ação.

Atributos

Atributos
enrichment_data

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

Tipo: dict

entity_results Resultados de entidades incluídos na saída JSON para este objeto.

Tipo: qualquer

global_context

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

Tipo: dict

Métodos abstratos

Métodos abstratos
_get_entity_types() Obtém o tipo de entidades em que a ação é executada.
_perform_enrich_action() Executar a lógica de enriquecimento principal numa entidade.

Métodos privados

Métodos privados
_perform_action()

Este método combina os outros métodos abstratos com uma lógica de enriquecimento mais OOTB e transmite-a à classe principal para usar no método start().

class TIPCommon.base.action.data_models.ActionParamType

classe 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

classe 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 do script de ação.

Esta classe é imutável: depois de criada, os respetivos atributos não podem ser modificados. Suporta a aplicação de hash (por exemplo, a utilização em conjuntos ou como chaves de dicionário) e a comparação de igualdade através do operador ==.

Atributos

Atributos
title O título do anexo.

Tipo: str | None

filename O nome do ficheiro do anexo.

Tipo: str

file_contents O conteúdo do ficheiro anexado.

Tipo: bytes

additional_data Dados adicionais.

Tipo: dict | None

class TIPCommon.base.action.data_models.CaseAttachment

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

Bases: object

Um anexo do registo.

Esta classe é imutável. Depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o operador ==.

Atributos

Atributos
attachment_id int

O ID do anexo.

attachment_type str

O tipo de 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

classe 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 registo.

Esta classe é imutável. Depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o 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

A hora 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 utilizador editor, como admin admin.

is_deleted bool

Indica se o comentário já foi eliminado.

creator_user_id str

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

creator_full_name str

O nome completo do criador, como Sistema.

comment_id int

O ID do comentário.

comment_type int

O tipo de comentário.

case_id int

O ID do registo.

is_favorite bool

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

modification_time_unix_time_in_ms int

A hora da última modificação do comentário no formato Unix, como 1686040471269.

creation_time_unix_time_in_ms int

A hora de criação do comentário no formato 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

classe 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 estatística do registo.

Esta classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o operador ==.

Atributos

Atributos
title str

O título da estatística.

triggered_by str

Nome da integração.

content str

A mensagem de estatísticas.

severity InsightSeverity

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

  • info
  • warning
  • error
insight_type InsightType

Tipo de estatísticas. Os valores possíveis são os seguintes:

  • general
  • entity
entity_identifier str | None

O identificador da entidade.

additional_data Any | None

Dados adicionais.

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

classe 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

classe 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

classe 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

classe 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

classe 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

classe 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

classe 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

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

Bases: object

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

Esta classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o operador ==.

Atributos

Atributos
title str | None

O título do conteúdo.

content str

O conteúdo a adicionar aos resultados do script.

class TIPCommon.base.action.data_models.DataTable

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

Bases: object

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

Esta classe é imutável. Depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o 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

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

Bases: object

Uma estatística de entidade.

Esta classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o operador ==.

Atributos

Atributos
entity Entity

O objeto de entidade.

message str

A mensagem da estatística.

triggered_by str | None

O nome da integração.

original_requesting_user str | None

O utilizador original.

class TIPCommon.base.action.data_models.EntityTypesEnum

classe 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

classe 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

classe 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 de integração, como VirusTotalV3.

creation_time int

A hora em que o parâmetro foi criado.

modification_time int

A hora 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 apresentado do parâmetro.

value Any

O valor predefinido do parâmetro.

type IntegrationParamType

O tipo de parâmetro.

optional_values list

Um DDL de valores opcionais para o tipo DDL.

class TIPCommon.base.action.data_models.HTMLReport

classe 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.

Esta classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o 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 da denúncia.

class TIPCommon.base.action.data_models.IntegrationParamType

classe 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

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

Bases: object

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

Esta classe é imutável: depois de atribuir valores e criar o objeto, não é possível atribuir novos valores aos atributos. A classe suporta a aplicação de hash (armazenada num conjunto ou como uma chave de dicionário) e o operador ==.

Atributos

Atributos
title str | None

O título do link.

link str

O link.

class TIPCommon.base.action.data_models.ScriptParameter

classe 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

Data/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 predefinido do parâmetro.

Este parâmetro tem prioridade sobre o parâmetro value nos manuais de soluções.

description str | None

Descrição do parâmetro.

name str | None

Nome do parâmetro.

value Any

O valor do parâmetro.

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

type ActionParamType

O tipo de parâmetro.

optional_values list

DDL de valores opcionais para o tipo DDL.

class TIPCommon.base.interfaces.apiable.Apiable

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

Bases: ABC, Generic[ApiParams]

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

class TIPCommon.base.interfaces.authable.Authable

classe TIPCommon.base.interfaces.authable.Authable

Bases: ABC, Generic[AuthParams]

Uma interface para classes que gerem 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 através de params.

Este método autentica-o no serviço com o qual a sessão interage, após a criação de um objeto através dessa sessão.

Atributos

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

Parâmetros de autenticação.

class TIPCommon.base.interfaces.logger.Logger

classe TIPCommon.base.interfaces.logger.Logger

Bases: ABC

Uma interface de registo concebida para scripts de mercado, que verifica a compatibilidade quando o registador transmitido é substituído ou simulado.

Métodos abstratos

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

class TIPCommon.base.interfaces.session.Session

classe TIPCommon.base.interfaces.session.Session

Bases: ABC, Generic[_R]

Esta classe gere sessões da API através de um objeto de sessão. Suporta 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 Elimina um recurso do servidor.
get(url: str, *args, **kwargs)→ _R Obtém um recurso do servidor.
patch(url: str, *args, **kwargs) → _R Aplica patches a um recurso no servidor.
post(url: str, *args, **kwargs) → _R Publica 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 um pedido ao servidor.

class TIPCommon.base.job.base_job.Job

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

Bases: ABC, Generic[ApiClient]

Uma classe que representa um script de tarefa 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 API para interagir com serviços externos.

property error_msg

property error_msg: str

Armazena qualquer mensagem de erro encontrada durante a execução da tarefa.

property job_start_time

property job_start_time: int

Representa a data/hora em que a tarefa foi iniciada.

registador depropriedades

property logger: ScriptLogger

Oferece funcionalidade de registo para o script de tarefas.

Nome da propriedade

property name: str

Contém o nome do script de tarefa.

Parâmetros de propriedade

property params: Container

Contém os parâmetros de configuração fornecidos à tarefa.

property soar_job

property soar_job: SiemplifyJob

Representa a instância de tarefa SOAR subjacente do Google Security Operations.

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

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

Bases: Job, Generic[ApiClient]

Esta secção descreve os métodos do ciclo de vida que influenciam o processamento de tarefas. As subclasses não têm de as substituir.

property api_client

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

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

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

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

Bases: tuple

Atributos

Atributos
success_list Alias para o número do campo 0.
failure_list Alias para o número do campo 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 numa lista de elementos únicos. Esta 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, é devolvida uma lista vazia.

Aumenta

ValueError – Quando a contagem de aspas duplas é inválida, alguns valores são inválidos ou alguns valores têm aspas duplas em falta.

Devoluções

Uma lista de valores únicos fornecidos no parâmetro do trabalho. Se não forem encontrados valores válidos, é devolvida uma lista vazia.

Tipo devolvido

list[str]

class TIPCommon.base.job.data_models.JobParameter

classe 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.

Nota: este atributo tem prioridade sobre value nos manuais de vendas.

name str | None

O nome do parâmetro.

type ActionParamType

O tipo de parâmetro.

value Any

O valor predefinido do parâmetro.

Nota: este atributo tem prioridade sobre default_value nas ações manuais.

class TIPCommon.base.data_models.ActionJsonOutput

classe 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 para uma ação.

class TIPCommon.base.data_models.ActionOutput

classe 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

classe 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 conetor.

class TIPCommon.base.data_models.ConnectorOutput

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

Bases: object

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

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 a partir de um JSON de atributos.

Devoluções

O objeto AlertInfo criado.

Tipo devolvido

AlertInfo

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