Módulo SiemplifyAction
class 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 registro da lista personalizada com a categoria especificada.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
category_name | {string} | Categoria de lista personalizada | "CustomList" | N/A |
Retorna
Lista {[CustomList]} dos objetos adicionados.
Exemplo
Entrada: explicitamente, category_name
. Implicitamente, entidades usando escopo.
A execução de add_alert_entities_to_custom_list
vai resultar em uma lista de
objetos "CustomList" e uma mudança de configuração nas configurações.
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.add_alert_entities_to_custom_list("WhiteListed HOSTs")
Comportamento do resultado
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 ao painel de casos.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
file_path | {string} | Caminho do arquivo | "C:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe" | N/A |
case_id | {string} | Identificador do caso | 234 | N/A |
alert_identifier | {string} | Identificador de alerta | 12345 | N/A |
descrição | {string} | A descrição do arquivo. | N/A | N/A |
is_favorite | booleano | N/A | Verdadeiro/Falso | N/A |
Retorna
{long} attachment_id
Exemplo
Entrada: explicitamente, caminho do arquivo, 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 do resultado
O arquivo mencionado no caminho será anexado ao ID do caso 234, e o ID do anexo será retornado.
Valor do resultado
5 [O ID do anexo]
add_comment
add_comment(comment, case_id=None, alert_identifier=None)
Adicione um novo comentário a um caso específico.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
comentário | {string} | Comentário a ser adicionado à restrição de visualização para uma atividade no Painel de Casos | N/A | N/A |
case_id | {string} | Identificador do caso | 234 | Se um case_id não for fornecido,o caso atual será usado. Nenhum por padrão (opcional) |
alert_identifier | {string} | Identificador de alerta | 12345 | Se um alert_identifier não for fornecido,o alerta atual será usado. Nenhum por padrão (opcional) |
Retorna
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 do resultado
O comentário especificado é adicionado ao caso atual.
Valor do resultado
Nenhum
add_entity_insight
add_entity_insight(domain_entity_info, message, triggered_by=None, original_requesting_user=None)
Adiciona um insight de entidade ao caso em que ele está sendo usado.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
domain_entity_info | {DomainEntityInfo} | O objeto de entidade que representa uma entidade para adicionar insights | N/A | N/A |
mensagem | {string} | Mensagem de insight | N/A | N/A |
triggered_by | {string} | Nome da integração | N/A | Se nenhum nome de integração for fornecido, a integração selecionada para a ação será usada. Nenhum por padrão (opcional) |
original_requesting_user | {string} | Usuário solicitante | N/A | Nenhum por padrão (opcional) |
Retorna
{boolean} True
se for bem-sucedido. Caso contrário, False
.
Exemplo
Comportamento do resultado
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)
Adiciona uma entidade ao caso atual.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
entity_identifier | {string} | Identificador da entidade | 192.0.2.1, example.com | N/A |
Tipo de entidade | {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 | O padrão é "falso". |
is_vulnerable | {boolean} | N/A | Verdadeiro/Falso | O padrão é "falso". |
propriedades | {dict} | {"Property1":"PropertyValue", "Property2":"PropertyValue2"} | N/A | N/A |
Retorna
NoneType
Se houver uma entidade, o seguinte erro vai aparecer: /
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 do resultado
Essa função adiciona uma nova entidade ao caso se ela não estiver presente nele.
Valor do resultado
Nenhum
add_tag
add_tag(tag, case_id=None, alert_identifier=None)
Adicione uma nova tag a um caso específico.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
tag | {string} | Tag a ser adicionada | Qualquer string a ser usada como tag | N/A |
case_id | {string} | Identificador do caso | 12345 | Se um case_id não for fornecido,o ID do caso atual será usado. Nenhum por padrão (opcional) |
alert_identifier | {string} | Identificador de alerta | 123 | Se um alert_identifier não for fornecido,o ID de alerta atual será usado. Nenhum por padrão(opcional) |
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
tag_to_be_added = "MaliciousMail"
siemplify.add_tag(tag=tag_to_be_added)
Comportamento do resultado
A tag "MaliciousMail" é adicionada ao caso 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 registro de lista personalizada com a categoria especificada.
Essa função recebe um nome de categoria de CustomLists e retorna True
(booleano)
se alguma das entidades no escopo estiver nessa categoria. Uma entidade é considerada na categoria se o identificador dela estiver listado com essa categoria nas configurações da tabela "CustomLists".
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
category_name | {string} | O nome da categoria da lista personalizada | BlackListed IPs |
N/A |
Retorna
{boolean} True
se houver 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 do resultado
O resultado do exemplo de código 1 é True
. O resultado do exemplo de código 2 é False
.
Valor do resultado
True ou false
assign_case
assign_case(user, case_id=None, alert_identifier=None)
Atribua o caso ao usuário.
Essa função funciona com o ID do usuário ou a função do usuário.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
usuário | {string} | ID do usuário ou função do usuário | USER_ID, Admin, @Tier1 | N/A |
case_id | {string} | Identificador do caso | 12345 | Se um case_id não for fornecido,o ID do caso atual será usado. Nenhum por padrão (opcional) |
alert_identifier | {string} | Identificador de alerta | 123 | Se um alert_identifier não for fornecido,o ID de alerta atual será usado. Nenhum por padrão (opcional) |
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
assigned_user= "Admin"
siemplify.assign_case(assigned_user)
Comportamento do resultado
O caso é atribuído ao usuário administrador.
Valor do resultado
Nenhum
attach_workflow_to_case
attach_workflow_to_case(workflow_name, cyber_case_id=None, indicator_identifier=None)
Anexe um playbook ao alerta atual.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
workflow_name | {string} | Nome do fluxo de trabalho (playbook) | N/A | N/A |
cyber_case_id | {string} | Identificador do caso | 234 | Se nenhum caso for fornecido, o caso atual será usado. Nenhum por padrão (opcional) |
indicator_identifier | {string} | Identificador de alerta | 12345 | Se nenhum identificador de alerta for fornecido, o alerta atual será usado. Nenhum por padrão (opcional) |
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.attach_workflow_to_case(workflow_name, cyber_case_id, indicator_identifier)
Comportamento do resultado
Anexa o fluxo de trabalho especificado ao caso para o identificador de indicador especificado.
Valor do resultado
Nenhum
Caso de propriedade
change_case_priority
change_case_priority(priority, case_id=None, alert_identifier=None)
Mudar a prioridade do caso.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
prioridade | {int} | A prioridade representada por cada número, respectivamente, é: Baixa, Média, Alta e Crítica |
{"Low": 40, "Medium": 60, "High": 80, "Critical": 100} | N/A |
case_id | {string} | Identificador do caso | 12345 | Se nenhum caso for fornecido, o caso atual será usado. |
alert_identifier | {string} | Identificador de alerta | 123 | Se nenhum identificador de alerta for fornecido, o alerta atual será usado. |
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
priority_to_change_to = 60
siemplify.change_case_priority(priority=priority_to_change_to )
Comportamento do resultado
A prioridade do caso muda para "Média".
Valor do resultado
Nenhum
change_case_stage
change_case_stage(stage, case_id=None, alert_identifier=None)
Mudar etapa do caso
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
etapa | {string} | A etapa precisa corresponder exatamente à string definida na tabela etapas do caso. | Incidente, Investigação |
N/A |
case_id | {string} | Identificador do caso | 12345 | Se nenhum caso for fornecido, o caso atual será usado. |
alert_identifier | {string} | Identificador de alerta | 123 | Se nenhum identificador de alerta for fornecido, o alerta atual será usado. |
Retorna
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
stage_to_change_to = "Investigation"
siemplify.change_case_stage(stage=stage_to_change_to)
Comportamento do resultado
O status do caso muda para "investigação".
Valor do resultado
Nenhum
close_alert
close_alert(root_cause, comment, reason, case_id=None, alert_id=None)
Fecha o alerta atual.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
root_cause | {string} | Causa raiz do encerramento do caso | Uma string extraída da tabela "Causa raiz do encerramento do caso" nas configurações |
N/A |
comentário | {string} | Comentário | Qualquer string pode ser usada aqui | O comentário deve descrever o caso, mas não é restrito |
reason | {ApiSyncAlertCloseReasonEnum} | Uma das três strings predefinidas disponíveis na caixa de diálogo quando feita manualmente: "NotMalicious", "Malicious" e "Maintenance" |
Consulte SiemplifyDataModel.ApiSyncAlertCloseReasonEnum |
Retorna
{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 do resultado
O alerta atual é movido para um novo caso e fechado com o alerta.
Valor do resultado
Nenhum
close_case
close_case(root_cause, comment, reason, case_id=None, alert_identifier=None)
Encerre o caso.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
root_cause | {string} | Causa raiz do encerramento do caso | N/A | N/A |
comentário | {string} | Comentário | Qualquer string pode ser usada aqui | O comentário deve descrever o caso, mas não é restrito |
reason | {ApiSyncAlertCloseReasonEnum} | Motivo do encerramento do caso | Uma das três strings predefinidas disponíveis na caixa de diálogo quando feita manualmente: "NotMalicious", "Malicious" e "Maintenance" | |
case_id | {string} | Identificador do caso | 12345 | Se nenhum caso for fornecido, o caso atual será usado. |
alert_identifier | {string} | Identificador de alerta | 123 | Se nenhum identificador de alerta for fornecido, o alerta atual será usado. |
Retorna
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 do resultado
O caso é encerrado com o motivo, a causa raiz 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 um insight ao caso.
Parâmetros
Nome do parâmetro | Tipo do 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 do insight | Enriquecido pelo VirusTotal | N/A |
conteúdo | {string} | Mensagem de insight | Mensagem de insight | N/A |
entity_identifier | {string} | Identificador da entidade | example.com | N/A |
gravidade, | {int} | Nível de gravidade | 0 = info, 1 = warning, 2 = error |
|
insight_type | {int} | Tipo de insight | 0 = geral, 1 = entidade |
N/A |
additional_data | {string} | Outros dados para insights | {"checked against": "VT", "malicious": "No"} | N/A |
additional_data_type | {int} | Tipo dos dados complementares | 'General'=0, 'Entity'=1 |
N/A |
additional_data_title | {string} | Título de dados adicionais para insights | Verificação de VT | N/A |
Retorna
{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 do resultado
Cria o insight para um caso com dados definidos.
True
se o insight de caso for criado. Caso contrário, False
.
Valor do resultado
True ou false
property current_alert
dismiss_alert
dismiss_alert(alert_group_identifier, should_close_case_if_all_alerts_were_dismissed, case_id=None)
Ambiente de propriedade
escalate_case
escalate_case(comment, case_id=None, alert_identifier=None)
Encaminhe o caso.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
comentário | {string} | Encaminhar comentário | N/A | N/A |
case_id | {string} | Identificador do caso | 12345 | N/A |
alert_identifier | {string} | Identificador de 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)
Recebe um parâmetro de script de ação.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
param_name | {string} | Nome do parâmetro | Qualquer um dos nomes de parâmetros disponíveis para a ação | N/A |
default_value | {any} | O valor padrão do parâmetro | O valor fornecido será retornado 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 esse valor por padrão. Nenhum por padrão (opcional) |
input_type | {obj} | Atribuir o parâmetro a um tipo diferente | int | str por padrão (opcional) |
is_mandatory | {boolean} | Gere uma exceção se o parâmetro estiver vazio | Verdadeiro/Falso | O padrão é "falso". |
print_value | {boolean} | Imprimir o valor no registro | Verdadeiro/Falso | O padrão é "falso". |
Retorna
O valor do parâmetro, {string} por padrã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 do resultado
O valor do parâmetro selecionado será retornado, 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)
Extraia o carimbo de data/hora e salve-o no contexto do caso.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
datetime_format | {boolean} | Formato de data/hora | True para receber no formato de data e hora, False para Unix | O padrão é "falso" (opcional). |
timezone | O parâmetro não é mais compatível | |||
new_timestamp | {int} | O carimbo de data/hora a ser salvo | N/A | Tempo Unix epoch por padrão (opcional) |
Retorna
{int} datetime.
Exemplo
from SiemplifyAction import SiemplifyAction
sa = SiemplifyAction()
sa.fetch_and_save_timestamp(self, datetime_format=False, new_timestamp=SiemplifyUtils.Unix_now())
Comportamento do resultado
O carimbo de data/hora mais recente é buscado e salvo como um arquivo 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)
Receba o carimbo de data/hora salvo com save_timestamp.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
datetime_format | {boolean} | Se for verdadeiro, retorne o carimbo de data/hora como datetime. Caso contrário, retorne no Unix | Verdadeiro/Falso | O padrão é "falso" (opcional). |
timezone | O parâmetro não é mais compatível |
Retorna
Salva o tempo de época do Unix e a data e hora.
Exemplo
from SiemplifyAction import SiemplifyAction
sa = SiemplifyAction()
result = sa.fetch_timestamp(datetime_format=True)
Comportamento do resultado
O carimbo de data/hora mais recente é buscado e salvo como um arquivo 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)
Recebe a propriedade de contexto do alerta atual.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
property_key | {string} | A chave da propriedade solicitada | N/A | N/A |
Retorna
{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 casos fechados desde o carimbo de data/hora.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
timestamp_unix_ms | {long} | Carimbo de data/hora | 1550409785000L | N/A |
rule_generator | {string} | N/A | Detector de e-mails de phishing | N/A |
Retorna
Lista {[string]} de IDs de alertas
get_attachments
get_attachments(case_id=None)
Recebe anexos de um caso.
Essa função recebe uma lista de itens de lista personalizada da categoria e da lista de entidades
e retorna uma lista de objetos de itens de lista personalizada.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do caso | 234 | Se nenhum caso for fornecido, o caso atual será usado (opcional). |
Retorna
{dict} anexos
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.get_attachments(case_id="234")
Comportamento do resultado
Uma lista de dicionários de anexos será retornada para o ID de caso 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 casos.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do caso | 234 | Se nenhum caso for fornecido, o caso atual será usado. |
Retorna
{[dict]} de comentários do caso
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.get_case_comments(case_id)
Comportamento do resultado
Todos os comentários do caso serão buscados.
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)
Recebe uma propriedade de contexto de caso.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
property_key | {string} | A propriedade de chave solicitada | N/A | N/A |
Retorna
{string} o valor da propriedade
get_configuration
get_configuration(provider, environment=None, integration_instance=None)
Recebe a configuração de integração.
Parâmetros
Nome do parâmetro | Tipo do 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 "all" | Opcional. Se fornecidas, as credenciais serão recuperadas da configuração de ambiente correspondente. Se nenhum ambiente for especificado, o ambiente do caso será usado por padrão. Se não houver uma configuração para o ambiente específico, a configuração padrão será retornada. |
|
integration_instance | {string} | O identificador da instância de integração | N/A | N/A |
Retorna
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 do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
consider_ports | {boolean} | O parâmetro configura se um filtro de porta será usado ou não. | Verdadeiro/falso | N/A |
consider_category_outcome | {boolean} | O parâmetro configura se é preciso 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 os identificadores de entidade serão considerados 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 |
Retorna
Lista {[int]} de IDs de casos
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 do resultado
Uma lista de IDs de casos semelhantes ao caso 234 será retornada.
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()
Essa função carrega os dados do caso.
Parâmetros
Não é preciso usar parâmetros.
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.load_case_data()
Comportamento do resultado
Os dados do caso são carregados.
Valor do resultado
Nenhum
property log_location
mark_case_as_important
mark_case_as_important(case_id=None, alert_identifier=None)
Marque o caso como importante.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do caso | 234 | N/A |
alert_identifier | {string} | Identificador de alerta | 12345 | N/A |
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.mark_case_as_important()
Comportamento do resultado
O caso atual está marcado como importante.
Valor do resultado
Nenhum
raise_incident
raise_incident(case_id=None, alert_identifier=None)
Criar incidente.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do caso | 234 | N/A |
alert_identifier | {string} | Identificador de alerta | 12345 | N/A |
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
siemplify.raise_incident(case_id, alert_identifier)
Comportamento do resultado
O caso foi elevado ao status 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 para o registro da lista personalizada com a categoria especificada.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
category_name | {string} | A categoria da lista personalizada. | `WhiteListed HOSTs` | N/A |
Retorna
Lista {[CustomList]} dos objetos CustomList
removidos.
Exemplo
from SiemplifyAction import SiemplifyAction
siemplify = SiemplifyAction()
result = siemplify.remove_alert_entities_from_custom_list("WhiteListed HOSTs")
Comportamento do resultado
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)
Salva o carimbo de data/hora no contexto do script atual.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
datetime_format | {boolean} | N/A | True para formato de data e hora, False para Unix | O padrão é "False" (opcional) |
timezone | O parâmetro não é mais compatível | |||
new_timestamp | {long} | Marcação de tempo para salvar no contexto | N/A | O carimbo de data/hora será o carimbo de data/hora do Unix de chamar o método por padrão. |
Retorna
NoneType
Exemplo
from SiemplifyAction import SiemplifyAction
sa = SiemplifyAction()
sa.save_timestamp(self, datetime_format=False, new_timestamp=SiemplifyUtils.unix_now())
Comportamento do resultado
O novo carimbo de data/hora será salvo como um arquivo TIMESTAMP no diretório atual.
Valor do resultado
Nenhum
set_alert_context_property
set_alert_context_property(property_key, property_value)
Define uma propriedade de contexto de alerta por pares de chave e valor.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
property_key | {string} | Chave da propriedade a ser armazenada no contexto | N/A | N/A |
property_value | {string} | Valor da propriedade a ser armazenada 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 SLA definido usando
essa API precisa superar todos os outros tipos de SLA de alerta.
Parâmetros
Nome do parâmetro | Tipo do 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 crítico do SLA | N/A | critical_period_time >= 0 O período crítico (após o escalonamento com as unidades de tempo) precisa ser menor que o período total. |
critical_period_type | {string} | as unidades de tempo de critical_period_time, representadas por ApiPeriodTypeEnum |
||
case_id | {long} | Identificador do caso | 234 | N/A |
alert_id | {string} | Identificador de alerta | 12345 | N/A |
set_case_context_property
set_case_context_property(property_key, property_value)
Defina uma propriedade de contexto de caso usando o par de chave-valor.
Parâmetros
Nome do parâmetro | Tipo do 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
especificado, se fornecido. Caso contrário, define o SLA do caso atual. O SLA definido usando essa API precisa superar todos os outros tipos de SLA de caso.
Parâmetros
Nome do parâmetro | Tipo do 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 crítico do SLA | N/A | critical_period_time >0 O período crítico (após o escalonamento com as unidades de tempo) precisa ser menor que o 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 caso | N/A | N/A |
signal_handler
signal_handler(sig, frame)
property target_entities
O objeto target_entities
é uma lista de objetos de entidade em que a ação configurada pode ser executada. Cada objeto de entidade expõe as seguintes propriedades e métodos:
Propriedades da entidade
Estes são atributos diretos de retenção de dados de um objeto de entidade:
Propriedade | Tipo de dados | Descrição |
---|---|---|
identifier |
string |
O identificador exclusivo (UUID) da entidade. |
creation_time |
int |
O carimbo de data/hora Unix de quando a entidade foi criada. |
modification_time |
int |
O carimbo de data/hora do Unix de quando a entidade foi modificada pela última vez. |
additional_properties |
dict |
Um dicionário que contém detalhes extras sobre a entidade. |
case_identifier |
string |
O ID do caso principal a que 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 foi sinalizada como suspeita. |
is_artifact |
bool |
Indica se a entidade é um artefato. |
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 pivô. |
Métodos de entidade
Estas são as funções executáveis disponíveis em um objeto de entidade:
Método | Descrição |
---|---|
to_dict() |
Converte o objeto de entidade em um dicionário padrão do Python. |
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)
Atualiza os dados adicionais dos alertas.
Parâmetros
Nome do parâmetro | Tipo do parâmetro | Definição | Valores possíveis | Comentários |
---|---|---|---|---|
case_id | {string} | Identificador do caso | 234 | N/A |
alerts_additional_data | {string:string} | N/A | N/A | N/A |
Retorna
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 do resultado
Atualiza o alerta com mais dados, como testKey:testValue
.
Valor do resultado
Nenhum