Módulo SiemplifyAction
classe SiemplifyAction.SiemplifyAction
SiemplifyAction.SiemplifyAction(mock_stdin=None, get_source_file=False)
Bases: Siemplify
add_alert_entities_to_custom_list
add_alert_entities_to_custom_list(category_name)
Adicione as entidades do alerta ao registo da lista personalizada com a categoria indicada.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
category_name | {string} | Categoria de lista de clientes | "CustomList" | N/A |
Devoluções
Lista {[CustomList]} dos objetos adicionados.
Exemplo
Entrada: explicitamente, category_name
. Implicitamente, as entidades que usam o âmbito.
A execução de add_alert_entities_to_custom_list
resulta numa lista de objetos "CustomList" e numa alteração da configuração nas definições.
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.add_alert_entities_to_custom_list("WhiteListed HOSTs")
Comportamento dos resultados
Adiciona a categoria WhiteListed HOSTs
.
Valor do resultado
[<SiemplifyDataModel.CustomList object at 0x0000000003476E10>, <SiemplifyDataModel.CustomList object at 0x0000000003476B00>]
add_attachment
add_attachment(file_path, case_id=None, alert_identifier=None, description=None, is_favorite=False)
Adicione um anexo à parede da caixa.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
file_path | {string} | Caminho do ficheiro | "C:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe" | N/A |
case_id | {string} | Identificador do registo | 234 | N/A |
alert_identifier | {string} | Identificador do alerta | 12345 | N/A |
descrição | {string} | A descrição do ficheiro | N/A | N/A |
is_favorite | booleano | N/A | Verdadeiro/Falso | N/A |
Devoluções
{long} attachment_id
Exemplo
Entrada: explicitamente, caminho do ficheiro, descrição e is_favorite
. Implicitamente,
case_id
e alert_identifier
.
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.add_attachment("C:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe", case_id="234", alert_identifier=None, description=None, is_favorite=True)
Comportamento dos resultados
O ficheiro mencionado no caminho vai ser anexado ao ID do registo 234 e o ID do anexo vai ser devolvido.
Valor do resultado
5 [O ID do anexo]
add_comment
add_comment(comment, case_id=None, alert_identifier=None)
Adicionar um novo comentário a um registo específico.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
comentário | {string} | Comentário a adicionar à cronologia do registo | N/A | N/A |
case_id | {string} | Identificador do registo | 234 | Se não for fornecido um case_id ,é usado o caso atual. Nenhuma por predefinição (opcional) |
alert_identifier | {string} | Identificador do alerta | 12345 | Se não for fornecido um alert_identifier ,é usado o alerta atual. Nenhuma por predefinição (opcional) |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
comment = "Ran some tests on the hash and it seems fine"
siemplify.add_comment(comment=comment)
Comportamento dos resultados
O comentário especificado é adicionado ao registo atual.
Valor do resultado
Nenhum
add_entity_insight
add_entity_insight(domain_entity_info, message, triggered_by=None, original_requesting_user=None)
Adicionar uma estatística de entidade ao registo em que está a ser usada.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
domain_entity_info | {DomainEntityInfo} | O objeto de entidade que representa uma entidade à qual adicionar estatísticas | N/A | N/A |
mensagem | {string} | Mensagem de estatísticas | N/A | N/A |
triggered_by | {string} | Nome da integração | N/A | Se não for fornecido nenhum nome de integração, é usada a integração selecionada
para a ação. Nenhuma por predefinição (opcional) |
original_requesting_user | {string} | Utilizador que faz o pedido | N/A | Nenhuma por predefinição (opcional) |
Devoluções
{boolean} True
se for bem-sucedido. Caso contrário, False
.
Exemplo
Comportamento dos resultados
Valor do resultado
add_entity_to_case
add_entity_to_case(entity_identifier, entity_type, is_internal, is_suspicious, is_enriched, is_vulnerable, properties, case_id=None, alert_identifier=None, environment=None)
Adicione uma entidade ao registo atual.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
entity_identifier | {string} | Identificador de entidade | 192.0.2.1, example.com | N/A |
entity_type | {string} | Tipo de entidade | "ADDRESS" | N/A |
is_internal | {boolean} | N/A | Interno/externo | N/A |
is_suspicious | {boolean} | N/A | Suspeito/Não suspeito | N/A |
is_enriched | {boolean} | N/A | Verdadeiro/Falso | Falso por predefinição |
is_vulnerable | {boolean} | N/A | Verdadeiro/Falso | Falso por predefinição |
propriedades | {dict} | {"Property1":"PropertyValue", "Property2":"PropertyValue2"} | N/A | N/A |
Devoluções
NoneType
Se existir uma entidade, é apresentado o seguinte erro: /
500 Server Error: Internal Server Error for url:
https://localhost:8443/api/external/v1/sdk/CreateEntity?format=snake:
\"ErrorMessage\":\"Cannot add entity [Identifier:Entities Identifies -
Type:siemplify.parameters[] to alert [MONITORED MAILBOX
<EXAMPLE@EXAMPLE.COM>
_633997CB-D23B-4A2B-92F2-AD1D350284FF] in case [12345]
because the entity already exists >there.\"
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.add_entity_to_case(entity_identifier, entity_type, is_internal, is_suspicious, is_enriched, is_vulnerable, properties, case_id, alert_identifier, environment)
Comportamento dos resultados
Esta função adiciona uma nova entidade ao registo se não estiver presente no registo.
Valor do resultado
Nenhum
add_tag
add_tag(tag, case_id=None, alert_identifier=None)
Adicionar uma nova etiqueta a um registo específico.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
etiqueta | {string} | Etiqueta a adicionar | Qualquer string a usar como etiqueta | N/A |
case_id | {string} | Identificador do registo | 12345 | Se não for fornecido um case_id ,é usado o ID do registo atual. Nenhuma por predefinição (opcional) |
alert_identifier | {string} | Identificador do alerta | 123 | Se não for fornecido um alert_identifier ,é usado o ID do alerta atual. Nenhum por predefinição(opcional) |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
tag_to_be_added = "MaliciousMail"
siemplify.add_tag(tag=tag_to_be_added)
Comportamento dos resultados
A etiqueta "MaliciousMail" é adicionada ao registo atual.
Valor do resultado
Nenhum
any_alert_entities_in_custom_list
any_alert_entities_in_custom_list(category_name)
Verifique se alguma das entidades do alerta tem um registo de lista personalizada com a categoria indicada.
Esta função obtém um nome de categoria de CustomLists e devolve True
(booleano)
se alguma das entidades no âmbito estiver nessa categoria. Uma entidade é considerada na categoria se o respetivo identificador estiver listado com esta categoria nas definições na tabela CustomLists.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
category_name | {string} | O nome da categoria da lista personalizada | BlackListed IPs |
N/A |
Devoluções
{boolean} True
se existir uma entidade na categoria, False
caso contrário.
Exemplo 1
from SiemplifyAction import SiemplifyAction \
siemplify = SiemplifyAction() \
result = siemplify.any_entity_in_custom_list("BlackListed IPs")
Exemplo 2
from SiemplifyAction import SiemplifyAction \
siemplify = SiemplifyAction() \
result = siemplify.any_entity_in_custom_list("Executive IPs")
Comportamento dos resultados
O resultado do exemplo de código 1 é True
. O resultado do exemplo de código 2 é False
.
Valor do resultado
Verdadeiro ou falso
assign_case
assign_case(user, case_id=None, alert_identifier=None)
Atribua o registo ao utilizador.
Esta função funciona com o ID do utilizador ou a função do utilizador.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
utilizador | {string} | ID do utilizador ou função do utilizador | USER_ID, Admin, @Tier1 | N/A |
case_id | {string} | Identificador do registo | 12345 | Se não for fornecido um case_id ,é usado o ID do registo atual. Nenhuma por predefinição (opcional) |
alert_identifier | {string} | Identificador do alerta | 123 | Se não for fornecido um alert_identifier ,é usado o ID do alerta atual. Nenhuma por predefinição (opcional) |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
assigned_user= "Admin"
siemplify.assign_case(assigned_user)
Comportamento dos resultados
O registo é atribuído ao utilizador administrador.
Valor do resultado
Nenhum
attach_workflow_to_case
attach_workflow_to_case(workflow_name, cyber_case_id=None, indicator_identifier=None)
Anexe um plano de ação ao alerta atual.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
workflow_name | {string} | Nome do fluxo de trabalho (manual de soluções) | N/A | N/A |
cyber_case_id | {string} | Identificador do registo | 234 | Se não for fornecido nenhum caso, é usado o caso atual. Nenhuma por predefinição (opcional) |
indicator_identifier | {string} | Identificador do alerta | 12345 | Se não for fornecido nenhum identificador de alerta, é usado o alerta atual. Nenhuma por predefinição (opcional) |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.attach_workflow_to_case(workflow_name, cyber_case_id, indicator_identifier)
Comportamento dos resultados
Anexa o fluxo de trabalho especificado ao registo para o identificador do indicador especificado.
Valor do resultado
Nenhum
Diferenciação entre maiúsculas e minúsculas da propriedade
change_case_priority
change_case_priority(priority, case_id=None, alert_identifier=None)
Alterar a prioridade do registo.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
prioridade | {int} | A prioridade representada por cada número, respetivamente, é: Baixa, média, alta e crítica |
{"Low": 40, "Medium": 60, "High": 80, "Critical": 100} | N/A |
case_id | {string} | Identificador do registo | 12345 | Se não for fornecido nenhum caso, é usado o caso atual |
alert_identifier | {string} | Identificador do alerta | 123 | Se não for fornecido nenhum identificador de alerta, é usado o alerta atual |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
priority_to_change_to = 60
siemplify.change_case_priority(priority=priority_to_change_to )
Comportamento dos resultados
A prioridade do registo é alterada para "Média".
Valor do resultado
Nenhum
change_case_stage
change_case_stage(stage, case_id=None, alert_identifier=None)
Altere a fase do registo
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
armazenar dados em área intermediária | {string} | A fase deve corresponder exatamente à string definida na tabela case stages | Incidente, Investigação |
N/A |
case_id | {string} | Identificador do registo | 12345 | Se não for fornecido nenhum caso, é usado o caso atual |
alert_identifier | {string} | Identificador do alerta | 123 | Se não for fornecido nenhum identificador de alerta, é usado o alerta atual |
Devoluções
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
stage_to_change_to = "Investigation"
siemplify.change_case_stage(stage=stage_to_change_to)
Comportamento dos resultados
O estado do registo é alterado para "investigação".
Valor do resultado
Nenhum
close_alert
close_alert(root_cause, comment, reason, case_id=None, alert_id=None)
Fechar alerta atual.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
root_cause | {string} | Motivo principal do fecho do registo | Uma string extraída da tabela "Causa principal do encerramento do registo" nas definições |
N/A |
comentário | {string} | Comentário | Pode usar qualquer string aqui | O comentário deve descrever o caso, mas não está restrito |
motivo | {ApiSyncAlertCloseReasonEnum} | Uma de três strings predefinidas disponíveis na caixa de diálogo quando feitas manualmente: "NotMalicious", "Malicious" e "Maintenance" |
Consulte SiemplifyDataModel.ApiSyncAlertCloseReasonEnum |
Devoluções
{dict} resultado da operação do servidor
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
reason = "Maintenance"
root_cause = "Employee Error"
comment = "User accidentally activated a correlation before it was ready to be used and triggered this alert"
siemplify.close_alert(reason=reason, root_cause=root_cause, comment=comment)
Comportamento dos resultados
O alerta atual é movido para um novo registo e, posteriormente, fechado com o alerta.
Valor do resultado
Nenhum
close_case
close_case(root_cause, comment, reason, case_id=None, alert_identifier=None)
Fechar registo.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
root_cause | {string} | Motivo principal do fecho do registo | N/A | N/A |
comentário | {string} | Comentário | Pode usar qualquer string aqui | O comentário deve descrever o caso, mas não está restrito |
motivo | {ApiSyncAlertCloseReasonEnum} | Motivo do fecho do registo | Uma de três strings predefinidas disponíveis na caixa de diálogo quando feitas manualmente: "NotMalicious", "Malicious" e "Maintenance" | |
case_id | {string} | Identificador do registo | 12345 | Se não for fornecido nenhum caso, é usado o caso atual |
alert_identifier | {string} | Identificador do alerta | 123 | Se não for fornecido nenhum identificador de alerta, é usado o alerta atual |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
reason = "Maintenance"
root_cause = "Employee Error"
comment = "User accidentally activated a correlation before it was ready to be used and triggered this alert"
siemplify.close_case(reason=reason, root_cause=root_cause, comment=comment)
Comportamento dos resultados
O registo é encerrado com o motivo, a causa principal e o comentário especificados.
Valor do resultado
Nenhum
create_case_insight
create_case_insight(triggered_by, title, content, entity_identifier, severity, insight_type, additional_data=None, additional_data_type=None, additional_data_title=None)
Adicione estatísticas ao registo.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
triggered_by | {string} | Nome da integração | VirusTotal, XForce | N/A |
título | {string} | Título da estatística | Enriquecido pelo VirusTotal | N/A |
conteúdo | {string} | Mensagem de estatísticas | Mensagem de estatísticas | N/A |
entity_identifier | {string} | Identificador de entidade | example.com | N/A |
gravidade | {int} | Nível de gravidade | 0 = info, 1 = warning, 2 = error |
|
insight_type | {int} | Tipo de estatísticas | 0 = geral, 1 = entidade |
N/A |
additional_data | {string} | Dados adicionais para estatísticas | {"checked against": "VT", "malicious": "No"} | N/A |
additional_data_type | {int} | Tipo de dados adicionais | 'General'=0, 'Entity'=1 |
N/A |
additional_data_title | {string} | Título dos dados adicionais para estatísticas | Verificação de VT | N/A |
Devoluções
{boolean} True
se for bem-sucedido. Caso contrário, False
.
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.create_case_insight(triggered_by, title, content, entity_identifier, severity, insight_type, additional_data, additional_data_type, additional_data_title)
Comportamento dos resultados
Cria a estatística para um registo com dados definidos.
True
se for criada uma estatística do registo. Caso contrário, False
.
Valor do resultado
Verdadeiro ou falso
property current_alert
dismiss_alert
dismiss_alert(alert_group_identifier, should_close_case_if_all_alerts_were_dismissed, case_id=None)
Ambiente da propriedade
escalate_case
escalate_case(comment, case_id=None, alert_identifier=None)
Encaminhe o registo.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
comentário | {string} | Encaminhe o comentário | N/A | N/A |
case_id | {string} | Identificador do registo | 12345 | N/A |
alert_identifier | {string} | Identificador do alerta | 123 | N/A |
extract_action_param
extract_action_param(param_name, default_value=None, input_type=<class 'str'>, is_mandatory=False, print_value=False)
Obtenha um parâmetro de script de ação.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
param_name | {string} | Nome do parâmetro | Qualquer um dos nomes dos parâmetros disponíveis para a ação | N/A |
default_value | {any} | O valor predefinido do parâmetro | O valor indicado é devolvido se o parâmetro não tiver sido definido (se is_mandatory estiver definido como False) |
Se o parâmetro não for transmitido, use este valor por predefinição. Nenhuma por predefinição (opcional) |
input_type | {obj} | Converta o parâmetro para um tipo diferente | int | str por predefinição (opcional) |
is_mandatory | {boolean} | Gere uma exceção se o parâmetro estiver vazio | Verdadeiro/Falso | Falso por predefinição |
print_value | {boolean} | Imprima o valor no registo | Verdadeiro/Falso | Falso por predefinição |
Devoluções
O valor do parâmetro, {string} por predefinição, a menos que input_type
seja especificado.
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
param_value= siemplify.extract_action_param(
"Threshold",
default_value=-1,
input_type=int,
is_mandatory=False,
print_value=False)
Comportamento dos resultados
O valor do parâmetro selecionado é devolvido, convertido para o tipo selecionado.
Valor do resultado
20
fetch_and_save_timestamp
fetch_and_save_timestamp(datetime_format=False, timezone=False, new_timestamp=1683033493671)
Obter a data/hora e guardá-la no contexto do registo.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
datetime_format | {boolean} | Formato de data/hora | Verdadeiro para obter no formato de data/hora, falso para Unix | Falso por predefinição (opcional) |
fuso horário | O parâmetro já não é suportado | |||
new_timestamp | {int} | A data/hora a guardar | N/A | Hora de época Unix por predefinição (opcional) |
Devoluções
{int} datetime.
Exemplo
from SiemplifyAction import SiemplifyAction
sa = SiemplifyAction()
sa.fetch_and_save_timestamp(self, datetime_format=False, new_timestamp=SiemplifyUtils.Unix_now())
Comportamento dos resultados
A data/hora mais recente é obtida e guardada como um ficheiro TIMESTAMP no diretório atual.
Valor do resultado
datetime.datetime(2019, 7, 16, 14, 26, 2, 26000)/1563276380
fetch_timestamp
fetch_timestamp(datetime_format=False, timezone=False)
Obtenha a indicação de tempo guardada com save_timestamp.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
datetime_format | {boolean} | Se for verdadeiro, devolve a data/hora como data/hora. Caso contrário, devolve no formato Unix | Verdadeiro/Falso | Falso por predefinição (opcional) |
fuso horário | O parâmetro já não é suportado |
Devoluções
Indicação de tempo de época Unix e data/hora guardadas.
Exemplo
from SiemplifyAction import SiemplifyAction
sa = SiemplifyAction()
result = sa.fetch_timestamp(datetime_format=True)
Comportamento dos resultados
A data/hora mais recente é obtida e guardada como um ficheiro TIMESTAMP no diretório atual.
Valor do resultado
datetime.datetime(2019, 7, 16, 14, 26, 2, 26000)/1563276380
get_alert_context_property
get_alert_context_property(property_key)
Obtenha a propriedade de contexto do alerta atual.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
property_key | {string} | A chave da propriedade pedida | N/A | N/A |
Devoluções
{string} O valor da propriedade
get_alerts_ticket_ids_from_cases_closed_since_timestamp
get_alerts_ticket_ids_from_cases_closed_since_timestamp(timestamp_unix_ms, rule_generator)
Receba alertas de registos que foram fechados desde a data/hora.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
timestamp_unix_ms | {long} | Indicação de tempo | 1550409785000L | N/A |
rule_generator | {string} | N/A | Detetor de emails de phishing | N/A |
Devoluções
{[string]} lista de IDs de alertas
get_attachments
get_attachments(case_id=None)
Obtenha anexos de um registo.
Esta função obtém uma lista de itens da lista personalizada da categoria e da lista de entidades
e devolve uma lista de objetos de itens da lista personalizada.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do registo | 234 | Se não for indicado nenhum caso, é usado o caso atual (opcional) |
Devoluções
{dict} anexos
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.get_attachments(case_id="234")
Comportamento dos resultados
É devolvida uma lista de dicionários de anexos para o ID do registo 234.
Valor do resultado
[{u'is_favorite': False, u'description': u'test', u'type': u'.exe', u'id': 4, u'name': u'chrome_proxy'}]
get_case_comments
get_case_comments(case_id=None)
Receber comentários de registos.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do registo | 234 | Se não for indicado nenhum caso, é usado o caso atual |
Devoluções
{[dict]} de comentários do registo
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.get_case_comments(case_id)
Comportamento dos resultados
São obtidos todos os comentários pertencentes ao registo.
Valor do resultado
[{'comment': u'this is a comment',
u'is_deleted': False,
u'last_editor_full_name': u'example user',
u'modification_time_unix_time_in_ms_for_client': 0,
u'creation_time_unix_time_in_ms': 1681904404087, u'id': 12,
u'modification_time_unix_time_in_ms': 1681904404087,
u'case_id': 234,
u'is_favorite': False,
u'alert_identifier': None,
u'creator_user_id': u'cd1c112a-0277-44a9-b68d-98ceef9b0399',
u'last_editor': u'cd1c112a-0277-44a9-b68d-98ceef9b0399',
u'type': 5,
u'comment_for_client': None,
u'creator_full_name': u'example user'}]
get_case_context_property
get_case_context_property(property_key)
Obter uma propriedade de contexto do registo.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
property_key | {string} | A propriedade da chave pedida | N/A | N/A |
Devoluções
{string} o valor da propriedade
get_configuration
get_configuration(provider, environment=None, integration_instance=None)
Obtenha a configuração da integração.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
provider | {string} | Nome da integração | VirusTotal | |
ambiente | {string} | Configuração para um ambiente específico ou "todos" | Opcional. Se forem fornecidas, as credenciais são obtidas a partir da configuração do ambiente correspondente. Se não for especificado nenhum ambiente, o ambiente de caixa é usado por predefinição. Se não existir uma configuração para o ambiente específico, é devolvida a configuração predefinida. |
|
integration_instance | {string} | O identificador da instância de integração | N/A | N/A |
Devoluções
Detalhes da configuração {dict}
get_similar_cases
get_similar_cases(consider_ports, consider_category_outcome, consider_rule_generator, consider_entity_identifiers, days_to_look_back, case_id=None, end_time_unix_ms=None)
Receber casos semelhantes.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
consider_ports | {boolean} | O parâmetro configura se deve ou não usar um filtro de porta | Verdadeiro/falso | N/A |
consider_category_outcome | {boolean} | O parâmetro configura se deve considerar o resultado da categoria dos eventos | Verdadeiro/falso | N/A |
consider_rule_generator | {boolean} | O parâmetro configura se o gerador de regras deve ser considerado para os alertas | Verdadeiro/falso | N/A |
consider_entity_identifiers | {boolean} | O parâmetro configura se devem ser considerados os identificadores de entidades para os alertas | Verdadeiro/falso | N/A |
days_to_look_back | {int} | O parâmetro configura o número de dias anteriores para procurar casos semelhantes | 365 | N/A |
Devoluções
{[int]} lista de IDs dos registos
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.get_similar_cases(consider_ports=True,
consider_category_outcome=False,
consider_rule_generator=False,
consider_entity_identifiers=False,
days_to_look_back=30, case_id="234", end_time_unix_ms=None)
Comportamento dos resultados
É devolvida uma lista de IDs de registos semelhantes ao registo 234.
Valor do resultado
[4, 231]
get_ticket_ids_for_alerts_dismissed_since_timestamp
get_ticket_ids_for_alerts_dismissed_since_timestamp(timestamp_unix_ms)
property is_timeout_reached
load_case_data
load_case_data()
Esta função carrega os dados do registo.
Parâmetros
Não são necessários parâmetros.
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.load_case_data()
Comportamento dos resultados
Os dados do registo são carregados.
Valor do resultado
Nenhum
property log_location
mark_case_as_important
mark_case_as_important(case_id=None, alert_identifier=None)
Marcar registo como importante.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do registo | 234 | N/A |
alert_identifier | {string} | Identificador do alerta | 12345 | N/A |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.mark_case_as_important()
Comportamento dos resultados
O registo atual está marcado como importante.
Valor do resultado
Nenhum
raise_incident
raise_incident(case_id=None, alert_identifier=None)
Comunicar incidente.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do registo | 234 | N/A |
alert_identifier | {string} | Identificador do alerta | 12345 | N/A |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.raise_incident(case_id, alert_identifier)
Comportamento dos resultados
O registo foi elevado ao estado de incidente.
Valor do resultado
Nenhum
remove_alert_entities_from_custom_list
remove_alert_entities_from_custom_list(category_name)
Remova as entidades do alerta do registo da lista personalizada com a categoria fornecida.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
category_name | {string} | A categoria da lista de clientes | `WhiteListed HOSTs` | N/A |
Devoluções
Lista {[CustomList]} dos objetos CustomList
removidos.
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.remove_alert_entities_from_custom_list("WhiteListed HOSTs")
Comportamento dos resultados
O WhiteListed HOSTS
é removido.
Valor do resultado
[<SiemplifyDataModel.CustomList object at 0x0000000003476E10>,
<SiemplifyDataModel.CustomList object at 0x0000000003476B00>]
save_timestamp
save_timestamp(datetime_format=False, timezone=False, new_timestamp=1683033493671)
Guarde a data/hora no contexto do script atual.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
datetime_format | {boolean} | N/A | Verdadeiro para o formato de data/hora, falso para o formato Unix | O valor predefinido é False (opcional) |
fuso horário | O parâmetro já não é suportado | |||
new_timestamp | {long} | Data/hora para guardar no contexto | N/A | A data/hora é predefinida como a data/hora Unix da chamada do método |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
sa = SiemplifyAction()
sa.save_timestamp(self, datetime_format=False, new_timestamp=SiemplifyUtils.unix_now())
Comportamento dos resultados
A nova data/hora é guardada como um ficheiro TIMESTAMP no diretório atual.
Valor do resultado
Nenhum
set_alert_context_property
set_alert_context_property(property_key, property_value)
Defina uma propriedade de contexto de alerta por pares de chave e valor.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
property_key | {string} | Chave da propriedade a armazenar no contexto | N/A | N/A |
property_value | {string} | Valor da propriedade a armazenar no contexto | N/A | N/A |
set_alert_sla
set_alert_sla(period_time, period_type, critical_period_time, critical_period_type, case_id=None, alert_id=None)
Define o SLA do alert_identifier
especificado de case_id
. O ANS definido através desta API deve ultrapassar todos os outros tipos de ANS de alertas.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
period_time | {int/str} | O período total do SLA | N/A | period_time > 0 |
period_type | {string} | Unidades de tempo de period_time, representadas por ApiPeriodTypeEnum | N/A | N/A |
critical_period_time | {int/str} | O período de SLA crítico | N/A | critical_period_time >= 0 O período crítico (após o ajuste de escala com as respetivas unidades de tempo) deve ser inferior ao período total. |
critical_period_type | {string} | As unidades de tempo de critical_period_time, representadas por ApiPeriodTypeEnum |
||
case_id | {long} | Identificador do registo | 234 | N/A |
alert_id | {string} | Identificador do alerta | 12345 | N/A |
set_case_context_property
set_case_context_property(property_key, property_value)
Defina uma propriedade de contexto de registo através do par de chave-valor.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
property_key | {string} | Chave da propriedade | N/A | N/A |
property_value | {string} | Valor da propriedade | N/A | N/A |
set_case_sla
set_case_sla(period_time, period_type, critical_period_time, critical_period_type, case_id=None)
Define o SLA do case_id
fornecido, se existir. Caso contrário, define o SLA do registo atual. O ANS definido através desta API deve exceder todos os outros tipos de ANS de registos.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
period_time | {int/str} | O período total do SLA | N/A | period_time > 0 |
period_type | {string} | Unidades de tempo de period_time, representadas por ApiPeriodTypeEnum | N/A | N/A |
critical_period_time | {int/str} | O período de SLA crítico | N/A | critical_period_time >0 O período crítico (após o ajuste de escala com as respetivas unidades de tempo) deve ser inferior ao período total. |
critical_period_type | {string} | As unidades de tempo de critical_period_time, representadas por ApiPeriodTypeEnum |
N/A | N/A |
case_id | {long} | Identificador do registo | N/A | N/A |
signal_handler
signal_handler(sig, frame)
property target_entities
O objeto target_entities
é uma lista de objetos de entidade com os quais a ação configurada pode ser executada. Cada objeto de entidade expõe as seguintes propriedades e métodos:
Propriedades da entidade
Seguem-se os atributos de retenção de dados diretos de um objeto de entidade:
Propriedade | Tipo de dados | Descrição |
---|---|---|
identifier |
string |
O identificador exclusivo (UUID) da entidade. |
creation_time |
int |
A data/hora Unix em que a entidade foi criada. |
modification_time |
int |
A data/hora Unix em que a entidade foi modificada pela última vez. |
additional_properties |
dict |
Um dicionário que contém detalhes adicionais sobre a entidade. |
case_identifier |
string |
O ID do registo principal ao qual a entidade pertence. |
alert_identifier |
string |
O ID do alerta associado à entidade. |
entity_type |
string |
O tipo de entidade (por exemplo, "HOSTNAME", "USERUNQNAME"). |
is_internal |
bool |
Indica se a entidade é um recurso interno. |
is_suspicious |
bool |
Indica se a entidade está sinalizada como suspeita. |
is_artifact |
bool |
Indica se a entidade é um artefacto. |
is_enriched |
bool |
Indica se a entidade foi enriquecida. |
is_vulnerable |
bool |
Indica se a entidade está marcada como vulnerável. |
is_pivot |
bool |
Indica se a entidade é uma entidade de eixo. |
Métodos de entidade
Seguem-se as funções executáveis disponíveis num objeto de entidade:
Método | Descrição |
---|---|
to_dict() |
Converte o objeto de entidade num dicionário Python padrão. |
try_set_alert_context_property
try_set_alert_context_property(property_key, property_value)
try_set_case_context_property
try_set_case_context_property(property_key, property_value)
update_alerts_additional_data
update_alerts_additional_data(alerts_additional_data, case_id=None)
Atualize os dados adicionais dos alertas.
Parâmetros
Nome do parâmetro | Tipo de parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do registo | 234 | N/A |
alerts_additional_data | {string:string} | N/A | N/A | N/A |
Devoluções
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
additional_data = {"testKey":"testValue"}
siemplify.update_alerts_additional_data(alerts_additional_data=additional_data, case_id=caseid)
Comportamento dos resultados
Atualiza o alerta com dados adicionais, como testKey:testValue
.
Valor do resultado
Nenhum