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: |
_api_client |
O cliente de API da integração.
Tipo: |
_name |
O nome do script que usa essa ação.
Tipo: |
_action_start_time |
O horário de início da ação.
Tipo: |
_logger |
O objeto de logger usado para registrar ações.
Tipo: |
_params |
O contêiner de parâmetros para essa ação.
Tipo: |
global_context |
Um dicionário para armazenar o contexto, se necessário.
Tipo: |
_entity_types |
Os tipos de entidade compatíveis com a ação.
Tipo: |
_entities_to_update |
As entidades a serem atualizadas quando a ação terminar.
Tipo: |
json_results |
Os resultados em JSON da ação.
Tipo: |
_attachments |
Os anexos de resultado do caso a serem adicionados.
Tipo: |
_contents |
O conteúdo do resultado do caso a ser adicionado.
Tipo: |
_data_tables |
As tabelas de dados de resultados de caso a serem adicionadas.
Tipo: |
_html_reports |
Os relatórios HTML de resultados de caso a serem adicionados.
Tipo: |
_links |
Os links de resultado do caso a serem adicionados.
Tipo: |
_entity_insights |
Os insights da entidade de caso a serem adicionados.
Tipo: |
_case_insights |
Os insights de caso a serem adicionados.
Tipo: |
_execution_state |
O estado de execução final da ação.
Tipo: |
_result_value |
O valor do resultado final da ação.
Tipo: |
_output_message |
A mensagem de saída da ação quando ela é concluída.
Tipo: |
_error_output_message |
A mensagem de saída da ação quando ela falha.
Tipo: |
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 = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.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.
Links de propriedade
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ídaFalse: 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 |
strO 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 Tipo: |
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: |
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 |
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 = 1CASE_PRIORITIES = 7CLOSE_CASE_REASONS = 5CLOSE_ROOT_CAUSE = 6CODE = 20CONTENT = 11DDL = 15EMAIL_CONTENT = 10ENTITY_TYPE = 13MULTI_VALUES = 14NULL = -1PASSWORD = 12PLAYBOOK_NAME = 2STAGE = 4STRING = 0USER = 3
class TIPCommon.base.action.data_models.Attachment
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: |
filename |
O nome do arquivo do anexo. Tipo: |
file_contents |
O conteúdo do arquivo anexado. Tipo: |
additional_data |
Outros dados. Tipo: |
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 |
intO ID do anexo. |
attachment_type |
strO tipo do anexo. |
description |
strA descrição do anexo. |
is_favorite |
boolIndica 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 |
strO comentário. |
comment_for_client |
str | NoneO comentário para o cliente. |
modification_time_unix_time_in_ms_for_client |
int
O horário de modificação do |
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 |
intO ID do comentário. |
comment_type |
intO tipo do comentário. |
case_id |
intO 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 |
strO 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 |
strO título do insight. |
triggered_by |
strNome da integração. |
content |
strA mensagem do insight. |
severity |
InsightSeverityGravidade do insight. Os valores possíveis são:
|
insight_type |
InsightTypeTipo de insight. Os valores possíveis são:
|
entity_identifier |
str | NoneO identificador da entidade. |
additional_data |
Any | NoneOutros dados. |
additional_data_type |
Any | NoneO tipo de dados adicionais. |
additional_data_title |
str | NoneO 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 = 100HIGH = 80INFORMATIONAL = 0LOW = 40MEDIUM = 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 = 3MAINTENANCE = 2MALICIOUS = 0NOT_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 | NoneO título do conteúdo. |
content |
strO 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 | NoneO 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 |
EntityO objeto da entidade. |
message |
strA mensagem do insight. |
triggered_by |
str | NoneO nome da integração. |
original_requesting_user |
str | NoneO 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 = 0FAILED = 2IN_PROGRESS = 1TIMED_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 | NoneO ID do parâmetro. |
integration_identifier |
strO identificador da integração, como VirusTotalV3. |
creation_time |
intO horário em que o parâmetro foi criado. |
modification_time |
intO horário em que o parâmetro foi modificado pela última vez. |
is_mandatory |
boolDefina se o parâmetro é obrigatório ou não. |
description |
str | NoneA descrição do parâmetro. |
name |
strO nome do parâmetro. |
display_name |
strO nome de exibição do parâmetro. |
value |
AnyO valor padrão do parâmetro. |
type |
IntegrationParamTypeO tipo do parâmetro. |
optional_values |
listUma 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 | NoneO título do link. |
report_name |
strO nome do relatório. |
report_contents |
strO 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 = 0EMAIL = 8INTEGER = 1IP = 4NULL = -1PASSWORD = 3STRING = 2
class TIPCommon.base.action.data_models.Link
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 | NoneO título do link. |
link |
strO 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 | NoneID do parâmetro. |
creation_time |
intHora em que o parâmetro foi criado. |
modification_time |
intHora em que o parâmetro foi modificado pela última vez. |
custom_action_id |
int | NoneO ID da ação. |
is_mandatory |
boolIndica se o parâmetro é obrigatório ou não. |
default_value |
AnyO valor padrão do parâmetro. Esse parâmetro tem prioridade sobre o |
description |
str | NoneDescrição do parâmetro. |
name |
str | NoneNome do parâmetro. |
value |
AnyO valor do parâmetro. Esse valor tem prioridade sobre o parâmetro |
type |
ActionParamTypeO tipo do parâmetro. |
optional_values |
listDDL 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 | NoneO ID do parâmetro. |
is_mandatory |
boolDefina se o parâmetro é obrigatório ou não. Observação: esse atributo tem prioridade sobre |
name |
str | NoneO nome do parâmetro. |
type |
ActionParamTypeO tipo do parâmetro. |
value |
AnyO valor padrão do parâmetro. Observação: esse atributo tem prioridade sobre |
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.