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: |
_api_client |
O cliente API da integração.
Tipo: |
_name |
O nome do script que usa esta ação.
Tipo: |
_action_start_time |
A hora de início da ação.
Tipo: |
_logger |
O objeto de registo usado para registar ações.
Tipo: |
_params |
O contentor de parâmetros para esta ação.
Tipo: |
global_context |
Um dicionário para armazenar o contexto, se necessário.
Tipo: |
_entity_types |
Os tipos de entidades suportados pela ação.
Tipo: |
_entities_to_update |
As entidades a atualizar quando a ação terminar.
Tipo: |
json_results |
Os resultados JSON da ação.
Tipo: |
_attachments |
Os anexos dos resultados do registo a adicionar.
Tipo: |
_contents |
O conteúdo do resultado da caixa a adicionar.
Tipo: |
_data_tables |
As tabelas de dados de resultados de registos a adicionar.
Tipo: |
_html_reports |
Os relatórios HTML de resultados dos testes a adicionar.
Tipo: |
_links |
Os links dos resultados dos registos a adicionar.
Tipo: |
_entity_insights |
As estatísticas de entidades de registos a adicionar.
Tipo: |
_case_insights |
As estatísticas do registo a adicionar.
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 é bem-sucedida.
Tipo: |
_error_output_message |
A mensagem de saída da ação quando falha.
Tipo: |
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 é Action
SCRIPT_NAME
failed
.
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.
Associações de propriedades
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 êxitoFalse
: 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 Tipo: |
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: |
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 |
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: |
filename |
O nome do ficheiro do anexo. Tipo: |
file_contents |
O conteúdo do ficheiro anexado. Tipo: |
additional_data |
Dados adicionais. Tipo: |
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 |
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:
|
insight_type |
InsightType Tipo de estatísticas. Os valores possíveis são os seguintes:
|
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
class TIPCommon.base.action.data_models.Link
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 |
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 |
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 |
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 |
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.