TIPCommon.base

TIPCommon.base.action.action_parser.parse_case_attachment

TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment

Analizza un allegato JSON e restituisce un oggetto CaseAttachment.

Parametri

Parametri
attachment Un oggetto JSON di risposta che rappresenta l'allegato.

Restituisce

L'oggetto CaseAttachment analizzato.

Tipo restituito

CaseAttachment

TIPCommon.base.action.action_parser.parse_case_comment

TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment

Analizza un commento JSON e restituisce un oggetto CaseComment.

Parametri

Parametri
comment Un oggetto JSON di risposta che rappresenta il commento.

Restituisce

L'oggetto CaseComment analizzato.

Tipo restituito

CaseComment

class TIPCommon.base.action.base_action.Action

class TIPCommon.base.action.base_action.Action(name: str)

Basi: ABC, Generic[ApiClient]

Un'implementazione generica unificata dell'infrastruttura per lo sviluppo di azioni Google SecOps.

La classe base Action fornisce metodi astratti del modello da sostituire nelle classi di azioni ereditate, proprietà generiche e flussi generali come metodi eseguiti quando viene chiamato il metodo run dell'azione.

Parametri

Parametri
name str

Il nome dello script dell'azione.

Attributi

Attributi
_soar_action L'oggetto SDK SiemplifyAction.

Tipo: SiemplifyAction

_api_client Il client API dell'integrazione.

Tipo: Apiable

_name Il nome dello script che utilizza questa azione.

Tipo: str

_action_start_time L'ora di inizio dell'azione.

Tipo: int

_logger L'oggetto logger utilizzato per la registrazione nei log delle azioni.

Tipo: SiemplifyLogger

_params Il contenitore dei parametri per questa azione.

Tipo: Container

global_context Un dizionario per memorizzare il contesto, se necessario.

Tipo: dict

_entity_types I tipi di entità supportati dall'azione.

Tipo: list[EntityTypesEnum]

_entities_to_update Le entità da aggiornare al termine dell'azione.

Tipo: list[Entity]

json_results I risultati JSON dell'azione.

Tipo: JSON

_attachments Gli allegati dei risultati del caso da aggiungere.

Tipo: list[Attachment]

_contents I contenuti del risultato della richiesta da aggiungere.

Tipo: list[Content]

_data_tables Le tabelle di dati dei risultati dello scenario da aggiungere.

Tipo: list[DataTable]

_html_reports I report HTML sui risultati del test da aggiungere.

Tipo: list[HTMLReport]

I link ai risultati della richiesta da aggiungere.

Tipo: list[Link]

_entity_insights Gli approfondimenti sull'entità della richiesta da aggiungere.

Tipo: list[EntityInsight]

_case_insights Le informazioni sul caso da aggiungere.

Tipo: list[CaseInsight]

_execution_state Stato di esecuzione finale dell'azione.

Tipo: ExecutionState

_result_value Il valore del risultato finale dell'azione.

Tipo: bool

_output_message Il messaggio di output dell'azione quando ha esito positivo.

Tipo: str

_error_output_message Il messaggio di output dell'azione quando non riesce.

Tipo: str

Metodi

- run() Esegue l'esecuzione dell'azione.
- _get_adjusted_json_results() Modifica il risultato JSON in base a una struttura specifica.

Metodi astratti

Metodi astratti
_validate_params() Convalida i parametri per questa azione.
_init_managers() Inizializza e restituisce un oggetto gestore.
_perform_action() Esegue la logica principale dell'azione.

Metodi aggiuntivi

Questi sono metodi chiamati durante l'esecuzione dell'azione e influiscono sulla fase di elaborazione degli avvisi, ma non è obbligatorio eseguirne l'override.

  • _get_entity_types()
  • _finalize_action_on_success()
  • _finalize_action_on_failure()
  • _on_entity_failure()
  • _handle_timeout()
  • _extract_action_parameters()
  • _finalize()

Metodi wrapper 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()

Esempio

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

Restituisce un int che rappresenta l'ora di inizio dell'azione in formato Unix.

property api_client

propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Restituisce un oggetto Apiable.

Allegati struttura

property attachments: list[Attachment]

Per impostazione predefinita, tutti gli allegati nell'elenco vengono inviati al risultato della richiesta.

Restituisce un elenco di oggetti Attachment che rappresentano gli approfondimenti per questa richiesta.

property case_insights

property case_insights: list[CaseInsight]

Per impostazione predefinita, tutti gli approfondimenti sulle richieste nell'elenco vengono inviati al risultato della richiesta.

Restituisce un elenco di oggetti CaseInsight che rappresentano gli approfondimenti per questa richiesta.

Contenuti della proprietà

property contents: list[Content]

Per impostazione predefinita, tutti i contenuti dell'elenco vengono inviati al risultato della richiesta.

Restituisce un elenco di oggetti Content che rappresentano gli approfondimenti per questa richiesta.

property data_tables

property data_tables: list[DataTable]

Per impostazione predefinita, tutte le tabelle di dati nell'elenco vengono inviate al risultato della richiesta.

Restituisce un elenco di oggetti DataTable che rappresentano gli approfondimenti per questa richiesta.

property entities_to_update

property entities_to_update: list[DomainEntityInfo]

Tutte le entità nell'elenco vengono inviate alla piattaforma per l'aggiornamento.

Restituisce un elenco di oggetti Entity che rappresentano le entità da aggiornare nella richiesta.

property entity_insights

property entity_insights: list[EntityInsight]

Per impostazione predefinita, tutti gli approfondimenti sulle entità nell'elenco vengono inviati al risultato della richiesta.

Restituisce un elenco di oggetti EntityInsight che rappresentano gli approfondimenti per questa richiesta.

entity_types property

property entity_types: list[EntityTypesEnum]

Se l'azione funziona con le entità, elabora solo quelle il cui tipo è presente nell'elenco entity_types. In caso contrario, l'azione ignora l'entità.

Restituisce un elenco di oggetti EntityTypesEnum che rappresentano i tipi di entità che l'azione può elaborare.

property error_output_message

property error_output_message: str

Il messaggio di output dell'azione in caso di esecuzione non riuscita.

Un messaggio di output che dovrebbe essere visualizzato in caso di errore durante l'esecuzione dell'azione. Il valore predefinito è ActionSCRIPT_NAMEfailed.

property execution_state

property execution_state: ExecutionState

Lo stato di esecuzione dell'azione, un indicatore di stato rappresentato da un numero intero da restituire alla piattaforma.

Gli stati possibili sono i seguenti:

  • ExecutionState.COMPLETED = 0
  • ExecutionState.IN_PROGRESS = 1
  • ExecutionState.FAILED = 2
  • ExecutionState.TIMED_OUT = 3

Restituisce l'oggetto ExecutionState che rappresenta lo stato di esecuzione attuale.

property html_reports

property html_reports: list[HTMLReport]

Per impostazione predefinita, tutti i report HTML nell'elenco verranno inviati al risultato della richiesta.

Restituisce un elenco di oggetti HTMLReport che rappresentano gli approfondimenti per questa richiesta.

property is_first_run

property is_first_run: bool

Indica se si tratta della prima esecuzione.

Risultato:

True se è la prima esecuzione, False altrimenti.

property json_results

property json_results: Dict[str, Any] | List[Dict[str, Any]]

Restituisce il risultato JSON dell'azione da inviare alla bacheca della richiesta.

property links: list[Link]

Per impostazione predefinita, tutti i link nell'elenco verranno inviati al risultato della richiesta.

Restituisce un elenco di oggetti Link che rappresentano gli approfondimenti per questa richiesta.

Logger property

property logger: NewLineLogger

Restituisce l'oggetto NewLineLogger per le azioni.

Nome della proprietà

property name: str

property output_message

property output_message: str

Il messaggio di output dell'azione in caso di esecuzione riuscita.

Il messaggio di output che riassume il risultato dell'azione.

Parametri property

property params: [Container]

Restituisce un oggetto Container che descrive i parametri dell'azione, con ogni parametro esposto come attributo snake_case.

property result_value

property result_value: bool

Il valore del risultato dell'azione da restituire alla piattaforma.

Valori possibili:

  • True: Azione riuscita
  • False: Azione non riuscita

property soar_action

property soar_action: SiemplifyAction

Restituisce l'oggetto SDK SiemplifyAction.

class TIPCommon.base.action.base_enrich_action.EnrichAction

class TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)

Basi: Azione

Una classe che rappresenta un'azione di arricchimento delle entità.

Questa classe eredita dalla classe TIPCommon.base.actions.base_action::Action.

Parametri

Parametri
name str

Il nome dell'azione.

Attributi

Attributi
enrichment_data

Questo attributo contiene i dati di arricchimento per l'entità corrente in ciascuna delle iterazioni dell'entità. Alla fine di ogni iterazione, l'attributo additional_properties dell'entità viene aggiornato con self.enrichment_data, il che significa che questo valore viene impostato ogni volta con il nuovo valore.

Tipo: dict

entity_results Risultati delle entità inclusi nell'output JSON per questo oggetto.

Tipo: qualsiasi

global_context

Un dizionario per memorizzare il contesto, se necessario.

Tipo: dict

Metodi astratti

Metodi astratti
_get_entity_types() Recupera il tipo di entità su cui viene eseguita l'azione.
_perform_enrich_action() Esegui la logica di arricchimento principale su un'entità.

Metodi privati

Metodi privati
_perform_action()

Questo metodo combina gli altri metodi astratti con una logica di arricchimento più OOTB e la trasmette alla classe padre da utilizzare nel metodo start().

class TIPCommon.base.action.data_models.ActionParamType

class TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • BOOLEAN = 1

  • CASE_PRIORITIES = 7

  • CLOSE_CASE_REASONS = 5

  • CLOSE_ROOT_CAUSE = 6

  • CODE = 20

  • CONTENT = 11

  • DDL = 15

  • EMAIL_CONTENT = 10

  • ENTITY_TYPE = 13

  • MULTI_VALUES = 14

  • NULL = -1

  • PASSWORD = 12

  • PLAYBOOK_NAME = 2

  • STAGE = 4

  • STRING = 0

  • USER = 3

class TIPCommon.base.action.data_models.Attachment

class TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)

Base: object

Un allegato con il risultato dello script di azione.

Questa classe è immutabile: una volta creata, i relativi attributi non possono essere modificati. Supporta l'hashing (ad esempio, l'utilizzo in set o come chiavi di dizionario) e il confronto di uguaglianza utilizzando l'operatore ==.

Attributi

Attributi
title Il titolo dell'allegato.

Tipo: str | None

filename Il nome del file dell'allegato.

Tipo: str

file_contents Il contenuto del file allegato.

Tipo: bytes

additional_data Dati aggiuntivi.

Tipo: dict | None

class TIPCommon.base.action.data_models.CaseAttachment

class TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)

Base: object

Un allegato della richiesta.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
attachment_id int

L'ID allegato.

attachment_type str

Il tipo di allegato.

description str

La descrizione dell'allegato.

is_favorite bool

Indica se l'allegato è contrassegnato come preferito.

class TIPCommon.base.action.data_models.CaseComment

class TIPCommon.base.action.data_models.CaseComment(comment: str, creator_user_id: str, comment_id: int, comment_type: int, case_id: int, is_favorite: bool, modification_time_unix_time_in_ms: int, creation_time_unix_time_in_ms: int, alert_identifier: str, creator_full_name: str | None = None, is_deleted: bool | None = None, last_editor: str | None = None, last_editor_full_name: str | None = None, modification_time_unix_time_in_ms_for_client: int | None = None, comment_for_client: str | None = None)

Base: object

Un commento sulla richiesta.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
comment str

Il commento.

comment_for_client str | None

Il commento per il cliente.

modification_time_unix_time_in_ms_for_client int

L'ora di modifica di comment_for_client.

last_editor str

L'ID dell'ultimo editor, ad esempio 77bdb7a4-8484-481d-9482-2449e33f9518.

last_editor_full_name str

Il nome completo dell'ultimo utente editor, ad esempio admin admin.

is_deleted bool

Indica se il commento è già stato eliminato.

creator_user_id str

L'ID utente del creator, ad esempio 77bdb7a4-8484-481d-9482-2449e33f9518.

creator_full_name str

Il nome completo dell'autore, ad esempio System.

comment_id int

L'ID del commento.

comment_type int

Il tipo di commento.

case_id int

L'ID della richiesta.

is_favorite bool

Indica se il commento è contrassegnato come preferito.

modification_time_unix_time_in_ms int

L'ora dell'ultima modifica del commento in formato Unix, ad esempio 1686040471269.

creation_time_unix_time_in_ms int

L'ora di creazione del commento in formato Unix, ad esempio 1686040471269.

alert_identifier str

L'identificatore dell'avviso, ad esempio SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E.

class TIPCommon.base.action.data_models.CaseInsight

class TIPCommon.base.action.data_models.CaseInsight(triggered_by: str, title: str, content: str, severity: InsightSeverity, insight_type: InsightType, entity_identifier: str = '', additional_data: Any | None = None, additional_data_type: Any | None = None, additional_data_title: str | None = None)

Base: object

Un approfondimento sul case.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
title str

Il titolo dell'approfondimento.

triggered_by str

Nome dell'integrazione.

content str

Il messaggio dell'approfondimento.

severity InsightSeverity

Gravità dell'insight. I valori possibili sono:

  • info
  • warning
  • error
insight_type InsightType

Tipo di approfondimento. I valori possibili sono:

  • general
  • entity
entity_identifier str | None

L'identificatore dell'entità.

additional_data Any | None

Dati aggiuntivi.

additional_data_type Any | None

Il tipo di dati aggiuntivi.

additional_data_title str | None

Il titolo dei dati aggiuntivi.

class TIPCommon.base.action.data_models.CasePriority

class TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIONAL = 0

  • LOW = 40

  • MEDIUM = 60

class TIPCommon.base.action.data_models.CaseStage

class TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • ASSESSMENT = 'Assessment'

  • IMPROVEMENT = 'Improvement'

  • INCIDENT = 'Incident'

  • INVESTIGATION = 'Investigation'

  • RESEARCH = 'Research'

  • TRIAGE = 'Triage'

class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • NO_CLEAR_CONCLUSION = 'No clear conclusion'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • LAB_TEST = 'Lab test'

  • OTHER = 'Other'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • EXTERNAL_ATTACK = 'External attack'

  • INFRASTRUCTURE_ISSUE = 'Infrastructure issue'

  • IRRELEVANT_TCP_UDP_PORT = 'Irrelevant TCP/UDP port'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • OTHER = 'Other'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • SYSTEM_APPLICATION_MALFUNCTION = 'System/application malfunction'

  • SYSTEM_CLOCKED_THE_ATTACK = 'System blocked the attack'

  • UNFORESEEN_EFFECTS_OF_CHANGE = 'Unforeseen effects of change'

  • UNKNOWN = 'Unknown'

class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses

class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • EMPLOYEE_ERROR = 'Employee error'

  • HUMAN_ERROR = 'Human error'

  • LAB_TEST = 'Lab test'

  • LEGIT_ACTION = 'Legit action'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • NONE = 'None'

  • NORMAL_BEHAVIOR = 'Normal behavior'

  • OTHER = 'Other'

  • PENETRATION_TEST = 'Penetration test'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • UNKNOWN = 'Unknown'

  • USER_MISTAKE = 'User mistake'

class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons

class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

### Costanti

  • INCONCLUSIVE = 3

  • MAINTENANCE = 2

  • MALICIOUS = 0

  • NOT_MALICIOUS = 1

class TIPCommon.base.action.data_models.Content

class TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')

Base: object

Contenuti di un risultato dello script di azione.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
title str | None

Il titolo dei contenuti.

content str

I contenuti da aggiungere ai risultati dello script.

class TIPCommon.base.action.data_models.DataTable

class TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')

Base: object

Una tabella di dati dei risultati dello script di azione.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
title str | None

Il titolo della tabella.

data_table list[str]

Un elenco di righe CSV che compongono la tabella.

class TIPCommon.base.action.data_models.EntityInsight

class TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)

Base: object

Un approfondimento sull'entità.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
entity Entity

L'oggetto entità.

message str

Il messaggio dell'approfondimento.

triggered_by str | None

Il nome dell'integrazione.

original_requesting_user str | None

L'utente originale.

class TIPCommon.base.action.data_models.EntityTypesEnum

class TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • ADDRESS = 'ADDRESS'

  • ALERT = 'ALERT'

  • APPLICATION = 'APPLICATION'

  • CHILD_HASH = 'CHILDHASH'

  • CHILD_PROCESS = 'CHILDPROCESS'

  • CLUSTER = 'CLUSTER'

  • CONTAINER = 'CONTAINER'

  • CREDIT_CARD = 'CREDITCARD'

  • CVE = 'CVE'

  • CVE_ID = 'CVEID'

  • DATABASE = 'DATABASE'

  • DEPLOYMENT = 'DEPLOYMENT'

  • DESTINATION_DOMAIN = 'DESTINATIONDOMAIN'

  • DOMAIN = 'DOMAIN'

  • EMAIL_MESSAGE = 'EMAILSUBJECT'

  • EVENT = 'EVENT'

  • FILE_HASH = 'FILEHASH'

  • FILE_NAME = 'FILENAME'

  • GENERIC = 'GENERICENTITY'

  • HOST_NAME = 'HOSTNAME'

  • IP_SET = 'IPSET'

  • MAC_ADDRESS = 'MacAddress'

  • PARENT_HASH = 'PARENTHASH'

  • PARENT_PROCESS = 'PARENTPROCESS'

  • PHONE_NUMBER = 'PHONENUMBER'

  • POD = 'POD'

  • PROCESS = 'PROCESS'

  • SERVICE = 'SERVICE'

  • SOURCE_DOMAIN = 'SOURCEDOMAIN'

  • THREAT_ACTOR = 'THREATACTOR'

  • THREAT_CAMPAIGN = 'THREATCAMPAIGN'

  • THREAT_SIGNATURE = 'THREATSIGNATURE'

  • URL = 'DestinationURL'

  • USB = 'USB'

  • USER = 'USERUNIQNAME'

class TIPCommon.base.action.data_models.ExecutionState

class TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • COMPLETED = 0

  • FAILED = 2

  • IN_PROGRESS = 1

  • TIMED_OUT = 3

class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter

class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])

Base: object

Un oggetto parametro script generico.

Attributi

Attributi
full_dict dict[str, Any]

Il dizionario originale ricevuto dall'API.

id int | None

L'ID del parametro.

integration_identifier str

L'identificatore dell'integrazione, ad esempio VirusTotalV3.

creation_time int

L'ora in cui è stato creato il parametro.

modification_time int

L'ora dell'ultima modifica del parametro.

is_mandatory bool

Definisci se il parametro è obbligatorio o meno.

description str | None

La descrizione del parametro.

name str

Il nome del parametro.

display_name str

Il nome visualizzato del parametro.

value Any

Il valore predefinito del parametro.

type IntegrationParamType

Il tipo di parametro.

optional_values list

Un DDL di valori facoltativi per il tipo DDL.

class TIPCommon.base.action.data_models.HTMLReport

class TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')

Base: object

Un link risultato-script di azione.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
title str | None

Il titolo del link.

report_name str

Il nome del report.

report_contents str

Il contenuto HTML del report.

class TIPCommon.base.action.data_models.IntegrationParamType

class TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Basi: Enum

Costanti

  • BOOLEAN = 0

  • EMAIL = 8

  • INTEGER = 1

  • IP = 4

  • NULL = -1

  • PASSWORD = 3

  • STRING = 2

class TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')

Base: object

Un link risultato-script di azione.

Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.

Attributi

Attributi
title str | None

Il titolo del link.

link str

Il link.

class TIPCommon.base.action.data_models.ScriptParameter

class TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]

Base: object

Un oggetto parametro script generico.

Attributi

Attributi
full_dict dict[str, Any]

Dizionario originale ricevuto dall'API.

id int | None

ID del parametro.

creation_time int

Ora in cui è stato creato il parametro.

modification_time int

Ora dell'ultima modifica del parametro.

custom_action_id int | None

L'ID azione.

is_mandatory bool

Indica se il parametro è obbligatorio o meno.

default_value Any

Il valore predefinito del parametro.

Questo parametro ha la priorità sul parametro value nei playbook.

description str | None

Descrizione del parametro.

name str | None

Nome del parametro.

value Any

Il valore del parametro.

Questo valore ha la priorità sul parametro default_value nelle azioni manuali.

type ActionParamType

Il tipo di parametro.

optional_values list

DDL dei valori facoltativi per il tipo DDL.

class TIPCommon.base.interfaces.apiable.Apiable

class TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)

Basi: ABC, Generic[ApiParams]

Un'interfaccia per le classi che gestiscono le chiamate API a servizi esterni.

class TIPCommon.base.interfaces.authable.Authable

class TIPCommon.base.interfaces.authable.Authable

Basi: ABC, Generic[AuthParams]

Un'interfaccia per le classi che gestiscono l'autenticazione con servizi esterni.

Metodi astratti

Metodi astratti
authenticat_session(params: Authparams) → None Autentica l'attributo self.session della classe utilizzando params.

Questo metodo ti autentica al servizio con cui interagisce la sessione, dopo la creazione di un oggetto utilizzando quella sessione.

Attributi

Attributi
params object, dataclass, TypedDict, namedtuple o qualsiasi altro elemento che contenga tutti i parametri di autenticazione.

Parametri di autenticazione.

class TIPCommon.base.interfaces.logger.Logger

class TIPCommon.base.interfaces.logger.Logger

Basi: ABC

Un'interfaccia di registrazione progettata per gli script del marketplace, che verifica la compatibilità quando il logger passato viene sostituito o simulato.

Metodi astratti

Metodi astratti
debug(msg: str, *args, **kwargs) → None Registra un messaggio di debug.
error(error_msg: str, *args, **kwargs) → None Registra un messaggio di errore.
exception(ex: Exception, *args, **kwargs) → None Registra un messaggio di eccezione.
info(msg: str, *args, **kwargs) → None Registra un messaggio informativo.
warn(warning_msg: str, *args, **kwargs) → None Registra un messaggio di avviso.

class TIPCommon.base.interfaces.session.Session

class TIPCommon.base.interfaces.session.Session

Basi: ABC, Generic[_R]

Questa classe gestisce le sessioni API utilizzando un oggetto sessione. Supporta vari tipi di sessione e simulazioni con librerie come requests o httpx.

Attributi

Attributi
headers dict
verify bool

Metodi astratti

Metodi astratti
delete(url: str, *args, **kwargs)→ _R Elimina una risorsa dal server.
get(url: str, *args, **kwargs)→ _R Recupera una risorsa dal server.
patch(url: str, *args, **kwargs) → _R Applica una patch a una risorsa sul server.
post(url: str, *args, **kwargs) → _R Pubblica una risorsa sul server.
put(url: str, *args, **kwargs) → _R Inserisce (aggiorna o crea) una risorsa sul server.
request(method: str, *args, **kwargs) → _R Invia una richiesta al server.

class TIPCommon.base.job.base_job.Job

class TIPCommon.base.job.base_job.Job(name: str)

Basi: ABC, Generic[ApiClient]

Una classe che rappresenta uno script di job in Google Security Operations SOAR.

Metodi

  • start(**kwargs) → None

property api_client

property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Fornisce il client o i client API per l'interazione con servizi esterni.

property error_msg

property error_msg: str

Memorizza eventuali messaggi di errore riscontrati durante l'esecuzione del job.

property job_start_time

property job_start_time: int

Rappresenta il timestamp di inizio del job.

Logger property

property logger: ScriptLogger

Fornisce la funzionalità di logging per lo script del job.

Nome della proprietà

property name: str

Contiene il nome dello script del job.

Parametri property

property params: Container

Contiene i parametri di configurazione forniti al job.

property soar_job

property soar_job: SiemplifyJob

Rappresenta l'istanza del job Google Security Operations SOAR sottostante.

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)

Basi: Job, Generic[ApiClient]

Questa sezione descrive i metodi del ciclo di vita che influenzano l'elaborazione dei job. Le sottoclassi non sono obbligate a eseguirne l'override.

property api_client

property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Contiene il client o i client API utilizzati per le interazioni con servizi esterni.

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)

Basi: tuple

Attributi

Attributi
success_list Alias per il campo numero 0.
failure_list Alias per il campo numero 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]

Convalida e analizza un valore parametro separato da virgole in un elenco di elementi univoci. Questa funzione gestisce valori singoli, stringhe tra virgolette e formati misti.

Parametri

Parametri
param_name La chiave del parametro.
param_csv_value Il valore parametro fornito nel parametro job. Se None, viene restituito un elenco vuoto.

Rialzi

ValueError: quando il conteggio delle virgolette doppie non è valido, alcuni valori non sono validi o alcuni valori hanno virgolette doppie non corrispondenti.

Restituisce

Un elenco di valori univoci forniti nel parametro del job. Se non vengono trovati valori validi, viene restituito un elenco vuoto.

Tipo restituito

list[str]

class TIPCommon.base.job.data_models.JobParameter

class TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])

Base: object

Un oggetto parametro script generico.

Attributi

Attributi
full_dict dict[str, Any]

Il dizionario originale ricevuto dall'API.

id int | None

L'ID del parametro.

is_mandatory bool

Definisci se il parametro è obbligatorio o meno.

Nota: questo attributo ha la priorità su value nei playbook.

name str | None

Il nome del parametro.

type ActionParamType

Il tipo di parametro.

value Any

Il valore predefinito del parametro.

Nota: questo attributo ha la priorità su default_value nelle azioni manuali.

class TIPCommon.base.data_models.ActionJsonOutput

class TIPCommon.base.data_models.ActionJsonOutput(title: 'str' = 'JsonResult', content: 'str' = '', type: 'str | None' = None, is_for_entity: 'bool' = False, json_result: 'JSON | None' = None)

Base: object

Rappresenta l'output JSON strutturato per un'azione.

class TIPCommon.base.data_models.ActionOutput

class TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')

Base: object

Rappresenta la struttura di output completa per un'azione.

class TIPCommon.base.data_models.ConnectorJsonOutput

class TIPCommon.base.data_models.ConnectorJsonOutput(alerts: 'list[AlertInfo | CaseInfo]', overflow_alerts: 'list[OverflowAlertDetails]' = <factory>, log_items: 'list' = <factory>, log_rows: 'list[str]' = <factory>, variables: 'dict' = <factory>)

Base: object

Rappresenta l'output JSON strutturato per un connettore.

class TIPCommon.base.data_models.ConnectorOutput

class TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')

Base: object

Rappresenta la struttura di output completa per un connettore.

TIPCommon.base.data_models.alert_info_from_json

TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo

Crea un oggetto AlertInfo da un JSON di attributi.

Restituisce

L'oggetto AlertInfo creato.

Tipo restituito

AlertInfo

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.