TIPCommon.base
TIPCommon.base.action.action_parser.parse_case_attachment
TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment
Parst einen JSON-Anhang und gibt ein CaseAttachment-Objekt zurück.
Parameter
| Parameter | |
|---|---|
attachment |
Ein JSON-Antwortobjekt, das den Anhang darstellt. |
Gibt Folgendes zurück:
Das geparste CaseAttachment-Objekt.
Rückgabetyp
CaseAttachment
TIPCommon.base.action.action_parser.parse_case_comment
TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment
Parst einen JSON-Kommentar und gibt ein CaseComment-Objekt zurück.
Parameter
| Parameter | |
|---|---|
comment |
Ein JSON-Antwortobjekt, das den Kommentar darstellt. |
Gibt Folgendes zurück:
Das geparste CaseComment-Objekt.
Rückgabetyp
CaseComment
class TIPCommon.base.action.base_action.Action
class TIPCommon.base.action.base_action.Action(name: str)
Basis: ABC, Generic[ApiClient]
Eine einheitliche generische Infrastrukturimplementierung für die Entwicklung von Google SecOps-Aktionen.
Die Basisklasse Action bietet abstrakte Vorlagenmethoden, die in den abgeleiteten Aktionsklassen überschrieben werden können, generische Attribute und allgemeine Abläufe als Methoden, die beim Aufrufen der Ausführungsmethode der Aktion ausgeführt werden.
Parameter
| Parameter | |
|---|---|
name |
str
Der Name des Aktionsscripts. |
Attribute
| Attribute | |
|---|---|
_soar_action |
Das SiemplifyAction-SDK-Objekt.
Typ: |
_api_client |
Der API-Client der Integration.
Typ: |
_name |
Der Name des Scripts, das diese Aktion verwendet.
Typ: |
_action_start_time |
Der Beginn der Aktion.
Typ: |
_logger |
Das Logger-Objekt, das für das Logging in Aktionen verwendet wird.
Typ: |
_params |
Der Parametercontainer für diese Aktion.
Typ: |
global_context |
Ein Wörterbuch zum Speichern des Kontexts, falls erforderlich.
Typ: |
_entity_types |
Die von der Aktion unterstützten Entitätstypen.
Typ: |
_entities_to_update |
Die Entitäten, die aktualisiert werden sollen, wenn die Aktion endet.
Typ: |
json_results |
Die JSON-Ergebnisse der Aktion.
Typ: |
_attachments |
Die Anhänge des Fallergebnisses, die hinzugefügt werden sollen.
Typ: |
_contents |
Der Inhalt des Fallergebnisses, der hinzugefügt werden soll.
Typ: |
_data_tables |
Die Datentabellen mit den Fallergebnissen, die hinzugefügt werden sollen.
Typ: |
_html_reports |
Die HTML-Berichte zu den Fallergebnissen, die hinzugefügt werden sollen.
Typ: |
_links |
Die Links zu den Fallergebnissen, die hinzugefügt werden sollen.
Typ: |
_entity_insights |
Die Fallentitätsstatistiken, die hinzugefügt werden sollen.
Typ: |
_case_insights |
Die Fallstatistiken, die hinzugefügt werden sollen.
Typ: |
_execution_state |
Der endgültige Ausführungsstatus der Aktion.
Typ: |
_result_value |
Der endgültige Ergebniswert der Aktion.
Typ: |
_output_message |
Die Ausgabemeldung der Aktion, wenn sie erfolgreich ist.
Typ: |
_error_output_message |
Die Ausgabenachricht der Aktion, wenn sie fehlschlägt.
Typ: |
Methoden
- run() |
Führt die Aktion aus. |
- _get_adjusted_json_results() |
Passt das JSON-Ergebnis an eine bestimmte Struktur an. |
Abstrakte Methoden
| Abstrakte Methoden | |
|---|---|
_validate_params() |
Validiert die Parameter für diese Aktion. |
_init_managers() |
Initialisiert ein Manager-Objekt und gibt es zurück. |
_perform_action() |
Führt die Hauptlogik der Aktion aus. |
Zusätzliche Methoden
Diese Methoden werden während der Aktionsausführung aufgerufen und wirken sich auf die Verarbeitungsphase der Benachrichtigungen aus, müssen aber nicht überschrieben werden.
_get_entity_types()_finalize_action_on_success()_finalize_action_on_failure()_on_entity_failure()_handle_timeout()_extract_action_parameters()_finalize()
SDK-Wrapper-Methoden
_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()
Beispiel
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
Gibt einen int-Wert zurück, der die Startzeit der Aktion in Unix darstellt.
property api_client
propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Gibt ein Apiable-Objekt zurück.
property-Anhänge
property attachments: list[Attachment]
Alle Anhänge in der Liste werden standardmäßig an das Fallergebnis gesendet.
Gibt eine Liste von Attachment-Objekten zurück, die die Insights für diesen Fall darstellen.
property case_insights
property case_insights: list[CaseInsight]
Alle Fallstatistiken in der Liste werden standardmäßig an das Fallergebnis gesendet.
Gibt eine Liste von CaseInsight-Objekten zurück, die die Insights für diesen Fall darstellen.
property-Inhalte
property contents: list[Content]
Alle Listeninhalte werden standardmäßig an das Fallergebnis gesendet.
Gibt eine Liste von Content-Objekten zurück, die die Insights für diesen Fall darstellen.
property data_tables
property data_tables: list[DataTable]
Standardmäßig werden alle Datentabellen in der Liste an das Fallergebnis gesendet.
Gibt eine Liste von DataTable-Objekten zurück, die die Statistiken für diesen Fall darstellen.
property entities_to_update
property entities_to_update: list[DomainEntityInfo]
Alle Entitäten in der Liste werden zur Aktualisierung an die Plattform gesendet.
Gibt eine Liste von Entity-Objekten zurück, die die Entitäten darstellen, die im Fall aktualisiert werden sollen.
property entity_insights
property entity_insights:
list[EntityInsight]
Alle Entitätsstatistiken in der Liste werden standardmäßig an das Fallergebnis gesendet.
Gibt eine Liste von EntityInsight-Objekten zurück, die die Insights für diesen Fall darstellen.
property entity_types
property entity_types:
list[EntityTypesEnum]
Wenn die Aktion mit Entitäten funktioniert, werden nur Entitäten verarbeitet, deren Typ in der Liste entity_types enthalten ist. Andernfalls wird die Entität übersprungen.
Gibt eine Liste von EntityTypesEnum-Objekten zurück, die Entitätstypen darstellen, die die Aktion verarbeiten kann.
property error_output_message
property error_output_message: str
Die Ausgabe der Aktion im Falle eines fehlgeschlagenen Laufs.
Eine Ausgabemeldung, die im Falle eines Fehlers während der Laufzeit der Aktion angezeigt werden soll. Der Standardwert ist ActionSCRIPT_NAMEfailed.
property execution_state
property execution_state: ExecutionState
Der Ausführungsstatus der Aktion – ein Statusindikator, der durch eine Ganzzahl dargestellt wird, die an die Plattform zurückgegeben werden soll.
Folgende Status sind möglich:
ExecutionState.COMPLETED = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.TIMED_OUT = 3
Gibt das ExecutionState-Objekt zurück, das den aktuellen Ausführungsstatus darstellt.
property html_reports
property html_reports: list[HTMLReport]
Alle HTML-Berichte in der Liste werden standardmäßig an das Fallergebnis gesendet.
Gibt eine Liste von HTMLReport-Objekten zurück, die die Statistiken für diesen Fall darstellen.
property is_first_run
property is_first_run: bool
Gibt an, ob dies die erste Ausführung ist.
Liefert:
True, wenn dies die erste Ausführung ist, andernfalls False.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Gibt das JSON-Ergebnis der Aktion zurück, das an die Fallpinnwand gesendet werden soll.
Property-Verknüpfungen
property links: list[Link]
Alle Links in der Liste werden standardmäßig an das Fallergebnis gesendet.
Gibt eine Liste von Link-Objekten zurück, die die Insights für diesen Fall darstellen.
property-Logger
property logger: NewLineLogger
Gibt das NewLineLogger-Objekt für Aktionen zurück.
property-Name
property name: str
property output_message
property output_message: str
Die Ausgabemeldung der Aktion im Falle einer erfolgreichen Ausführung.
Die Ausgabenachricht, die das Ergebnis der Aktion zusammenfasst.
property-Parameter
property params:
[Container]
Gibt ein Container-Objekt zurück, das die Parameter der Aktion beschreibt. Jeder Parameter wird als snake_case-Attribut dargestellt.
property result_value
property result_value: bool
Der Ergebniswert der Aktion, der an die Plattform zurückgegeben werden soll.
Mögliche Werte:
True: Aktion erfolgreichFalse: Aktion fehlgeschlagen
property soar_action
property soar_action: SiemplifyAction
Gibt das SDK-Objekt SiemplifyAction zurück.
class TIPCommon.base.action.base_enrich_action.EnrichAction
class TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
Basis: Action
Eine Klasse, die eine Aktion zur Entitätsanreicherung darstellt.
Diese Klasse übernimmt die Eigenschaften der Klasse TIPCommon.base.actions.base_action::Action.
Parameter
| Parameter | |
|---|---|
name |
strDer Name der Aktion. |
Attribute
| Attribute | |
|---|---|
enrichment_data |
Dieses Attribut enthält die Anreicherungsdaten für die aktuelle Entität in jeder der Entitätsiterationen. Am Ende jeder Iteration wird das Attribut Typ: |
entity_results |
Entitätsergebnisse, die in der JSON-Ausgabe für dieses Objekt enthalten sind.
Typ: Beliebig |
global_context |
Ein Wörterbuch, um den Kontext bei Bedarf zu speichern. Typ: |
Abstrakte Methoden
| Abstrakte Methoden | |
|---|---|
_get_entity_types() |
Ruft den Typ der Entitäten ab, für die die Aktion ausgeführt wird. |
_perform_enrich_action() |
Führt die Hauptlogik für die Anreicherung einer Entität aus. |
Private Methoden
| Private Methoden | |
|---|---|
_perform_action() |
Diese Methode kombiniert die anderen abstrakten Methoden mit einer zusätzlichen OOTB-Anreicherungslogik und übergibt sie an die übergeordnete Klasse, um sie in der Methode |
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)
Basis: Enum
Konstanten
BOOLEAN = 1CASE_PRIORITIES = 7CLOSE_CASE_REASONS = 5CLOSE_ROOT_CAUSE = 6CODE = 20CONTENT = 11DDL = 15EMAIL_CONTENT = 10ENTITY_TYPE = 13MULTI_VALUES = 14NULL = -1PASSWORD = 12PLAYBOOK_NAME = 2STAGE = 4STRING = 0USER = 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)
Basiert auf: object
Ein Aktionsskript-Ergebnisanhang.
Diese Klasse ist unveränderlich: Nach dem Erstellen können ihre Attribute nicht mehr geändert werden. Er unterstützt Hashing (z. B. Verwendung in Sets oder als Wörterbuchschlüssel) und Gleichheitsvergleiche mit dem Operator ==.
Attribute
| Attribute | |
|---|---|
title |
Der Titel des Anhangs. Typ: |
filename |
Der Dateiname des Anhangs. Typ: |
file_contents |
Der Inhalt der Anhangsdatei. Typ: |
additional_data |
Zusätzliche Daten. Typ: |
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)
Basiert auf: object
Ein Anhang für eine Supportanfrage.
Diese Klasse ist unveränderlich. Nachdem Werte zugewiesen und das Objekt erstellt wurde, können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den Operator ==.
Attribute
| Attribute | |
|---|---|
attachment_id |
intDie Anhangs-ID. |
attachment_type |
strDer Typ des Anhangs. |
description |
strDie Beschreibung des Anhangs. |
is_favorite |
boolGibt an, ob der Anhang als Favorit markiert ist. |
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)
Basiert auf: object
Einen Kommentar zur Anfrage.
Diese Klasse ist unveränderlich. Nachdem Sie Werte zugewiesen und das Objekt erstellt haben, können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den Operator ==.
Attribute
| Attribute | |
|---|---|
comment |
strDer Kommentar. |
comment_for_client |
str | NoneDer Kommentar für den Kunden. |
modification_time_unix_time_in_ms_for_client |
int
Die Änderungszeit für |
last_editor |
str
Die ID des letzten Bearbeiters, z. B. 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Der vollständige Name des letzten Bearbeiters, z. B. admin admin. |
is_deleted |
bool
Gibt an, ob der Kommentar bereits gelöscht wurde. |
creator_user_id |
str
Die Nutzer-ID des Erstellers, z. B. 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
Der vollständige Name des Erstellers, z. B. System. |
comment_id |
intDie ID des Kommentars. |
comment_type |
intDer Typ des Kommentars. |
case_id |
intDie ID des Falls. |
is_favorite |
bool
Gibt an, ob der Kommentar als Favorit markiert ist. |
modification_time_unix_time_in_ms |
int
Der Zeitpunkt der letzten Änderung des Kommentars in Unix, z. B. 1686040471269. |
creation_time_unix_time_in_ms |
int
Der Erstellungszeitpunkt des Kommentars im Unix-Format, z. B. 1686040471269. |
alert_identifier |
strDie Kennung der Benachrichtigung, z. B. 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)
Basiert auf: object
Eine Fallstatistik.
Diese Klasse ist unveränderlich: Nach dem Zuweisen von Werten und dem Erstellen des Objekts können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den Operator ==.
Attribute
| Attribute | |
|---|---|
title |
strDer Titel der Statistik. |
triggered_by |
strName der Integration. |
content |
strDie Statistikmeldung. |
severity |
InsightSeveritySchweregrad der Statistik. Folgende Werte sind möglich:
|
insight_type |
InsightTypeStatistiktyp. Folgende Werte sind möglich:
|
entity_identifier |
str | NoneDie Kennung der Entität. |
additional_data |
Any | NoneZusätzliche Daten. |
additional_data_type |
Any | NoneDer Typ der zusätzlichen Daten. |
additional_data_title |
str | NoneDer Titel der zusätzlichen Daten. |
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)
Basis: Enum
Konstanten
CRITICAL = 100HIGH = 80INFORMATIONAL = 0LOW = 40MEDIUM = 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)
Basis: Enum
Konstanten
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)
Basis: Enum
Konstanten
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)
Basis: Enum
Konstanten
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)
Basis: Enum
Konstanten
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)
Basis: Enum
Konstanten
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)
Basis: Enum
### Konstanten
INCONCLUSIVE = 3MAINTENANCE = 2MALICIOUS = 0NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
class TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
Basiert auf: object
Der Inhalt eines Aktionsskript-Ergebnisses.
Diese Klasse ist unveränderlich: Nach dem Zuweisen von Werten und dem Erstellen des Objekts können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den ==-Operator.
Attribute
| Attribute | |
|---|---|
title |
str | NoneDer Titel des Inhalts. |
content |
strDer Inhalt, der den Skriptergebnissen hinzugefügt werden soll. |
class TIPCommon.base.action.data_models.DataTable
class TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
Basiert auf: object
Eine Datentabelle mit Aktionsskriptergebnissen.
Diese Klasse ist unveränderlich. Nachdem Sie Werte zugewiesen und das Objekt erstellt haben, können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den Operator ==.
Attribute
| Attribute | |
|---|---|
title |
str | NoneDer Titel der Tabelle. |
data_table |
list[str]Eine Liste von CSV-Zeilen, aus denen die Tabelle erstellt wird. |
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)
Basiert auf: object
Eine Entitätsstatistik.
Diese Klasse ist unveränderlich: Nach dem Zuweisen von Werten und dem Erstellen des Objekts können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den Operator ==.
Attribute
| Attribute | |
|---|---|
entity |
EntityDas Entitätsobjekt. |
message |
strDie Nachricht der Statistik. |
triggered_by |
str | NoneDer Name der Integration. |
original_requesting_user |
str | NoneDer ursprüngliche Nutzer. |
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)
Basis: Enum
Konstanten
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)
Basis: Enum
Konstanten
COMPLETED = 0FAILED = 2IN_PROGRESS = 1TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
Basiert auf: object
Ein allgemeines Scriptparameterobjekt.
Attribute
| Attribute | |
|---|---|
full_dict |
dict[str, Any]Das ursprüngliche Wörterbuch, das von der API empfangen wurde. |
id |
int | NoneDie ID des Parameters. |
integration_identifier |
strDie Integrations-ID, z. B. VirusTotalV3. |
creation_time |
intDer Zeitpunkt, zu dem der Parameter erstellt wurde. |
modification_time |
intDer Zeitpunkt, zu dem der Parameter zuletzt geändert wurde. |
is_mandatory |
boolLegen Sie fest, ob der Parameter obligatorisch ist oder nicht. |
description |
str | NoneDie Parameterbeschreibung. |
name |
strDer Parametername. |
display_name |
strDer Anzeigename des Parameters. |
value |
AnyDer Standardwert des Parameters. |
type |
IntegrationParamTypeDer Typ des Parameters. |
optional_values |
listEine DDL mit optionalen Werten für den Typ „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')
Basiert auf: object
Ein Link zum Ergebnis eines Aktionsscripts.
Diese Klasse ist unveränderlich: Nach dem Zuweisen von Werten und dem Erstellen des Objekts können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den Operator ==.
Attribute
| Attribute | |
|---|---|
title |
str | NoneDer Titel des Links. |
report_name |
strDer Name des Berichts. |
report_contents |
strDer HTML-Inhalt des Berichts. |
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)
Basis: Enum
Konstanten
BOOLEAN = 0EMAIL = 8INTEGER = 1IP = 4NULL = -1PASSWORD = 3STRING = 2
class TIPCommon.base.action.data_models.Link
class TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
Basiert auf: object
Ein Link zum Ergebnis eines Aktionsscripts.
Diese Klasse ist unveränderlich: Nach dem Zuweisen von Werten und dem Erstellen des Objekts können den Attributen keine neuen Werte zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Wörterbuchschlüssel) und den Operator ==.
Attribute
| Attribute | |
|---|---|
title |
str | NoneDer Titel des Links. |
link |
strDer Link. |
class TIPCommon.base.action.data_models.ScriptParameter
class TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Basiert auf: object
Ein allgemeines Scriptparameterobjekt.
Attribute
| Attribute | |
|---|---|
full_dict |
dict[str, Any]Original-Dictionary, das von der API empfangen wurde. |
id |
int | NoneID des Parameters. |
creation_time |
intZeitpunkt, zu dem der Parameter erstellt wurde. |
modification_time |
intZeitpunkt, zu dem der Parameter zuletzt geändert wurde. |
custom_action_id |
int | NoneDie Aktions-ID. |
is_mandatory |
boolGibt an, ob der Parameter obligatorisch ist oder nicht. |
default_value |
AnyDer Standardwert des Parameters. Dieser Parameter hat in Playbooks Vorrang vor dem Parameter |
description |
str | NoneDie Beschreibung des Parameters. |
name |
str | NoneParameter name. |
value |
AnyWert des Parameters. Dieser Wert hat bei manuellen Aktionen Vorrang vor dem Parameter |
type |
ActionParamTypeDer Typ des Parameters. |
optional_values |
listDDL optionaler Werte für den Typ DDL. |
class TIPCommon.base.interfaces.apiable.Apiable
class TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
Basis: ABC, Generic[ApiParams]
Eine Schnittstelle für Klassen, die API-Aufrufe an externe Dienste verwalten.
class TIPCommon.base.interfaces.authable.Authable
class TIPCommon.base.interfaces.authable.Authable
Basis: ABC, Generic[AuthParams]
Eine Schnittstelle für Klassen, die die Authentifizierung bei externen Diensten verwalten.
Abstrakte Methoden
| Abstrakte Methoden | |
|---|---|
authenticat_session(params: Authparams) → None |
Authentifizieren Sie das Attribut self.session der Klasse mit params.
Mit dieser Methode werden Sie beim Dienst authentifiziert, mit dem die Sitzung interagiert, nachdem ein Objekt mit dieser Sitzung erstellt wurde. |
Attribute
| Attribute | |
|---|---|
params |
object, dataclass, TypedDict, namedtuple oder ein beliebiges Element, das alle Authentifizierungsparameter enthält.Authentifizierungsparameter. |
class TIPCommon.base.interfaces.logger.Logger
class TIPCommon.base.interfaces.logger.Logger
Basis: ABC
Eine Logger-Schnittstelle, die für Content Hub-Skripts entwickelt wurde und die Kompatibilität prüft, wenn der übergebene Logger ersetzt oder simuliert wird.
Abstrakte Methoden
| Abstrakte Methoden | |
|---|---|
debug(msg: str, *args, **kwargs) → None |
Protokolliert eine Debug-Nachricht. |
error(error_msg: str, *args, **kwargs) → None |
Protokolliert eine Fehlermeldung. |
exception(ex: Exception, *args, **kwargs) → None |
Protokolliert eine Ausnahmemeldung. |
info(msg: str, *args, **kwargs) → None |
Protokolliert eine Informationsmeldung. |
warn(warning_msg: str, *args, **kwargs) → None |
Protokolliert eine Warnmeldung. |
class TIPCommon.base.interfaces.session.Session
class TIPCommon.base.interfaces.session.Session
Bases: ABC, Generic[_R]
Diese Klasse verwaltet API-Sitzungen mithilfe eines Sitzungsobjekts. Es unterstützt verschiedene Sitzungstypen und Mocks mit Bibliotheken wie requests oder httpx.
Attribute
| Attribute | |
|---|---|
headers |
dict |
verify |
bool |
Abstrakte Methoden
| Abstrakte Methoden | |
|---|---|
delete(url: str, *args, **kwargs)→ _R |
Löscht eine Ressource vom Server. |
get(url: str, *args, **kwargs)→ _R |
Ruft eine Ressource vom Server ab. |
patch(url: str, *args, **kwargs) → _R |
Patches für eine Ressource auf dem Server. |
post(url: str, *args, **kwargs) → _R |
Sendet eine Ressource an den Server. |
put(url: str, *args, **kwargs) → _R |
Platziert (aktualisiert oder erstellt) eine Ressource auf dem Server. |
request(method: str, *args, **kwargs) → _R |
Stellt eine Anfrage an den Server. |
class TIPCommon.base.job.base_job.Job
class TIPCommon.base.job.base_job.Job(name: str)
Basis: ABC, Generic[ApiClient]
Eine Klasse, die ein Jobskript in Google SecOps darstellt.
Methoden
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Stellt den API-Client oder die API-Clients für die Interaktion mit externen Diensten bereit.
property error_msg
property error_msg: str
Speichert alle Fehlermeldungen, die während der Ausführung des Jobs auftreten.
property job_start_time
property job_start_time: int
Der Zeitstempel, zu dem der Job gestartet wurde.
property-Logger
property logger: ScriptLogger
Bietet Logging-Funktionen für das Jobskript.
property-Name
property name: str
Enthält den Namen des Jobskripts.
property-Parameter
property params: Container
Enthält die Konfigurationsparameter, die für den Job bereitgestellt wurden.
property soar_job
property soar_job: SiemplifyJob
Stellt die zugrunde liegende Google SecOps-Jobinstanz dar.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)
Basis: Job, Generic[ApiClient]
In diesem Abschnitt werden Lebenszyklusmethoden beschrieben, die die Jobverarbeitung beeinflussen. Abgeleitete Klassen müssen sie nicht überschreiben.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Enthält den API-Client oder die API-Clients, die für Interaktionen mit externen Diensten verwendet werden.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Basen: Tupel
Attribute
| Attribute | |
|---|---|
success_list |
Alias für Feldnummer 0. |
failure_list |
Alias für Feld Nummer 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]
Validiert einen kommagetrennten Parameterwert und parst ihn in eine Liste eindeutiger Elemente. Diese Funktion verarbeitet einzelne Werte, Strings in Anführungszeichen und gemischte Formate.
Parameter
| Parameter | |
|---|---|
param_name |
Der Parameterschlüssel. |
param_csv_value |
Der im Parameter job angegebene Parameterwert.
Wenn None, wird eine leere Liste zurückgegeben. |
Löst aus
ValueError: Wenn die Anzahl der doppelten Anführungszeichen ungültig ist, einige Werte ungültig sind oder einige Werte nicht übereinstimmende doppelte Anführungszeichen haben.
Gibt Folgendes zurück:
Eine Liste mit eindeutigen Werten, die im Jobparameter angegeben sind. Wenn keine gültigen Werte gefunden werden, wird eine leere Liste zurückgegeben.
Rückgabetyp
list[str]
class TIPCommon.base.job.data_models.JobParameter
class TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Basiert auf: object
Ein allgemeines Scriptparameterobjekt.
Attribute
| Attribute | |
|---|---|
full_dict |
dict[str, Any]Das ursprüngliche Wörterbuch, das von der API empfangen wurde. |
id |
int | NoneDie ID des Parameters. |
is_mandatory |
boolLegen Sie fest, ob der Parameter obligatorisch ist oder nicht. Hinweis: Dieses Attribut hat in Playbooks Vorrang vor |
name |
str | NoneName des Parameters. |
type |
ActionParamTypeDer Typ des Parameters. |
value |
AnyDer Standardwert des Parameters. Hinweis: Dieses Attribut hat bei manuellen Maßnahmen Vorrang vor |
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)
Basiert auf: object
Stellt die strukturierte JSON-Ausgabe für eine Aktion dar.
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' = '')
Basiert auf: object
Stellt die vollständige Ausgabestruktur für eine Aktion dar.
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>)
Basiert auf: object
Stellt die strukturierte JSON-Ausgabe für einen Connector dar.
class TIPCommon.base.data_models.ConnectorOutput
class TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
Basiert auf: object
Stellt die vollständige Ausgabestruktur für einen Connector dar.
TIPCommon.base.data_models.alert_info_from_json
TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo
Erstellt ein AlertInfo-Objekt aus einem JSON-Objekt mit Attributen.
Gibt Folgendes zurück:
Das erstellte AlertInfo-Objekt.
Rückgabetyp
AlertInfo
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten