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 é Action
SCRIPT_NAME
failed
.
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.
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 |
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 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 = 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: |
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 |
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 |
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:
|
insight_type |
InsightType Tipo de insight. Os valores possíveis são:
|
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
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 |
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 |
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 |
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 |
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.