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: |
_api_client |
Il client API dell'integrazione.
Tipo: |
_name |
Il nome dello script che utilizza questa azione.
Tipo: |
_action_start_time |
L'ora di inizio dell'azione.
Tipo: |
_logger |
L'oggetto logger utilizzato per la registrazione nei log delle azioni.
Tipo: |
_params |
Il contenitore dei parametri per questa azione.
Tipo: |
global_context |
Un dizionario per memorizzare il contesto, se necessario.
Tipo: |
_entity_types |
I tipi di entità supportati dall'azione.
Tipo: |
_entities_to_update |
Le entità da aggiornare al termine dell'azione.
Tipo: |
json_results |
I risultati JSON dell'azione.
Tipo: |
_attachments |
Gli allegati dei risultati del caso da aggiungere.
Tipo: |
_contents |
I contenuti del risultato della richiesta da aggiungere.
Tipo: |
_data_tables |
Le tabelle di dati dei risultati dello scenario da aggiungere.
Tipo: |
_html_reports |
I report HTML sui risultati del test da aggiungere.
Tipo: |
_links |
I link ai risultati della richiesta da aggiungere.
Tipo: |
_entity_insights |
Gli approfondimenti sull'entità della richiesta da aggiungere.
Tipo: |
_case_insights |
Le informazioni sul caso da aggiungere.
Tipo: |
_execution_state |
Stato di esecuzione finale dell'azione.
Tipo: |
_result_value |
Il valore del risultato finale dell'azione.
Tipo: |
_output_message |
Il messaggio di output dell'azione quando ha esito positivo.
Tipo: |
_error_output_message |
Il messaggio di output dell'azione quando non riesce.
Tipo: |
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 è Action
SCRIPT_NAME
failed
.
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.
Link proprietà
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 riuscitaFalse
: 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
Tipo: |
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: |
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 |
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: |
filename |
Il nome del file dell'allegato. Tipo: |
file_contents |
Il contenuto del file allegato. Tipo: |
additional_data |
Dati aggiuntivi. Tipo: |
class TIPCommon.base.action.data_models.CaseAttachment
class TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)
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 |
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:
|
insight_type |
InsightType Tipo di approfondimento. I valori possibili sono:
|
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
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 |
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 |
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 |
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 |
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.