TIPCommon.base
TIPCommon.base.action.action_parser.parse_case_attachment
TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment
Analysiert einen JSON-Anhang und gibt ein CaseAttachment
-Objekt zurück.
Parameter
Parameter | |
---|---|
attachment |
Ein JSON-Objekt, das die Anlage 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-Objekt, 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 geerbten Aktionsklassen überschrieben werden können, generische Eigenschaften und allgemeine Abläufe als Methoden, die beim Aufrufen der Run-Methode der Aktion ausgeführt werden.
Parameter
Parameter | |
---|---|
name |
str
Der Scriptname der Aktion. |
Attribute
Attribute | |
---|---|
_soar_action |
Das SiemplifyAction -SDK-Objekt.
Typ: |
_api_client |
Der API-Client der Integration.
Typ: |
_name |
Der Name des Skripts, in dem diese Aktion verwendet wird.
Typ: |
_action_start_time |
Die Startzeit 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 Dictionary zum Speichern des Kontexts, falls erforderlich.
Typ: |
_entity_types |
Die von der Aktion unterstützten Entitätstypen.
Typ: |
_entities_to_update |
Die Einheiten, die aktualisiert werden sollen, wenn die Aktion endet.
Typ: |
json_results |
Die JSON-Ergebnisse der Aktion.
Typ: |
_attachments |
Die Anhänge mit den Fallergebnissen, die hinzugefügt werden sollen.
Typ: |
_contents |
Die Inhalte des Fallergebnisses, die hinzugefügt werden sollen.
Typ: |
_data_tables |
Die hinzuzufügenden Tabellen mit Fallergebnissen.
Typ: |
_html_reports |
Die HTML-Berichte mit Testergebnissen, die hinzugefügt werden sollen.
Typ: |
_links |
Die hinzuzufügenden Links zum Fallergebnis.
Typ: |
_entity_insights |
Die hinzuzufügenden Case-Entitätsstatistiken.
Typ: |
_case_insights |
Die hinzuzufügenden Fallstatistiken.
Typ: |
_execution_state |
Der endgültige Ausführungsstatus der Aktion.
Typ: |
_result_value |
Der Wert des Endergebnisses der Aktion.
Typ: |
_output_message |
Die Ausgabemeldung der Aktion bei Erfolg.
Typ: |
_error_output_message |
Die Ausgabenachricht der Aktion, wenn sie fehlschlägt.
Typ: |
Methoden
- run() |
Führt die Aktionsausführung 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 und gibt ein Manager-Objekt zurück. |
_perform_action() |
Führt die Hauptlogik der Aktion aus. |
Zusätzliche Methoden
Diese Methoden werden während der Ausführung der Aktion aufgerufen und wirken sich auf die Phase der Verarbeitung von Benachrichtigungen aus. Sie müssen jedoch 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
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 Ergebnis des Falls gesendet.
Gibt eine Liste von Attachment
-Objekten zurück, die die Statistiken 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 Statistiken für diesen Fall darstellen.
Inhalte der Property
property contents: list[Content]
Alle Listeninhalte werden standardmäßig an das Fallergebnis gesendet.
Gibt eine Liste von Content-Objekten zurück, die die Statistiken 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-Entität „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 Statistiken für diesen Fall darstellen.
property-Entitätstypen
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 von der Aktion verarbeitet werden können.
property error_output_message
property error_output_message: str
Die Ausgabemeldung 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 Action
SCRIPT_NAME
failed
.
property-Ausführungsstatus
property execution_state: ExecutionState
Der Ausführungsstatus der Aktion – eine Statusanzeige, die durch eine Ganzzahl dargestellt wird, die an die Plattform zurückgegeben werden soll.
Folgende Status sind möglich:
ExecutionState.COMPLETED = 0
ExecutionState.IN_PROGRESS = 1
ExecutionState.FAILED = 2
ExecutionState.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 es sich um den ersten Lauf handelt.
Liefert:
True
, wenn dies der erste Lauf 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 Fallwand gesendet werden soll.
Property-Links
property links: list[Link]
Alle Links in der Liste werden standardmäßig an das Ergebnis des Falls gesendet.
Gibt eine Liste von Link
-Objekten zurück, die die Statistiken 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 eines erfolgreichen Laufs.
Die Ausgabenachricht, in der das Ergebnis der Aktion zusammengefasst wird.
property-Parameter
property params:
[Container]
Gibt ein Container
-Objekt zurück, das die Parameter der Aktion beschreibt. Jeder Parameter wird als snake_case-Attribut verfügbar gemacht.
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)
Basen: Action
Eine Klasse, die eine Aktion zur Anreicherung von Entitäten darstellt.
Diese Klasse erbt von der Klasse TIPCommon.base.actions.base_action::Action
.
Parameter
Parameter | |
---|---|
name |
str Der 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 Dictionary zum Speichern des Kontexts, falls erforderlich. 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ühren Sie die Hauptanreicherungslogik für eine Entität aus. |
Private Methoden
Private Methoden | |
---|---|
_perform_action() |
Bei dieser Methode werden die anderen abstrakten Methoden mit einer zusätzlichen OOTB-Anreicherungslogik kombiniert und an die übergeordnete Klasse übergeben, damit 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 = 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)
Basiert auf: object
Eine Anlage für das Ergebnis eines Aktionsscripts.
Diese Klasse ist unveränderlich. Nach der Erstellung können ihre Attribute nicht mehr geändert werden. Sie unterstützt Hashing (z. B. zur Verwendung in Sets oder als Dictionary-Schlü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 angehängten Datei. 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 Fallanhang.
Diese Klasse ist unveränderlich. Nachdem Werte zugewiesen und das Objekt erstellt wurde, können den Attributen keine neuen Werte mehr zugewiesen werden. Die Klasse unterstützt Hashing (gespeichert in einem Set oder als Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
attachment_id |
int Die Attachment-ID. |
attachment_type |
str Der Typ des Anhangs. |
description |
str Die Beschreibung des Anhangs. |
is_favorite |
bool Gibt 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
Ein Fallkommentar.
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 Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
comment |
str Der Kommentar. |
comment_for_client |
str | None Der Kommentar für den Kunden. |
modification_time_unix_time_in_ms_for_client |
int
Die Änderungszeit für die |
last_editor |
str
Die ID des letzten Editors, z. B. 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Der vollständige Name des letzten Nutzers, der Änderungen vorgenommen hat, 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 |
int Die ID des Kommentars. |
comment_type |
int Der Typ des Kommentars. |
case_id |
int Die 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
Die Erstellungszeit des Kommentars in Unix, z. B. 1686040471269. |
alert_identifier |
str Die ID 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
Ein Fall-Insight.
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 Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
title |
str Der Titel der Statistik. |
triggered_by |
str Name der Integration. |
content |
str Die Statistikmeldung. |
severity |
InsightSeverity Schweregrad der Statistik. Folgende Werte sind möglich:
|
insight_type |
InsightType Statistiktyp. Folgende Werte sind möglich:
|
entity_identifier |
str | None Die Kennung der Entität. |
additional_data |
Any | None Zusätzliche Daten. |
additional_data_type |
Any | None Der Typ der zusätzlichen Daten. |
additional_data_title |
str | None Der 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 = 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)
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 = 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')
Basiert auf: object
Ein Aktionsskript-Ergebnisinhalt.
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 Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
title |
str | None Der Titel des Inhalts. |
content |
str Der 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 Aktionsscript-Ergebnissen.
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 Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
title |
str | None Der Titel der Tabelle. |
data_table |
list[str] Eine Liste mit CSV-Zeilen, aus denen die Tabelle besteht. |
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äts-Statistik.
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 Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
entity |
Entity Das Entitätsobjekt. |
message |
str Die Nachricht des Insights. |
triggered_by |
str | None Der Name der Integration. |
original_requesting_user |
str | None Der 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 = 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])
Basiert auf: object
Ein allgemeines Skriptparameterobjekt.
Attribute
Attribute | |
---|---|
full_dict |
dict[str, Any] Das ursprüngliche von der API empfangene Dictionary. |
id |
int | None Die ID des Parameters. |
integration_identifier |
str Die Integrations-ID, z. B. VirusTotalV3. |
creation_time |
int Der Zeitpunkt, zu dem der Parameter erstellt wurde. |
modification_time |
int Der Zeitpunkt der letzten Änderung des Parameters. |
is_mandatory |
bool Legen Sie fest, ob der Parameter obligatorisch ist. |
description |
str | None Die Beschreibung des Parameters. |
name |
str Der Parametername. |
display_name |
str Der Anzeigename des Parameters. |
value |
Any Der Standardwert des Parameters. |
type |
IntegrationParamType Der Typ des Parameters. |
optional_values |
list Eine DDL mit optionalen Werten für die 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 zwischen Aktionsscript und Ergebnis.
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 Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
title |
str | None Der Titel des Links. |
report_name |
str Der Name des Berichts. |
report_contents |
str Der 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 = 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')
Basiert auf: object
Ein Link zwischen Aktionsscript und Ergebnis.
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 Dict-Schlüssel) und den ==
-Operator.
Attribute
Attribute | |
---|---|
title |
str | None Der Titel des Links. |
link |
str Der 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 Skriptparameterobjekt.
Attribute
Attribute | |
---|---|
full_dict |
dict[str, Any] Originalwörterbuch, das von der API empfangen wurde. |
id |
int | None ID des Parameters. |
creation_time |
int Zeitpunkt, zu dem der Parameter erstellt wurde. |
modification_time |
int Zeitpunkt der letzten Änderung des Parameters. |
custom_action_id |
int | None Die Aktions-ID. |
is_mandatory |
bool Gibt an, ob der Parameter obligatorisch ist. |
default_value |
Any Der Standardwert des Parameters. Dieser Parameter hat in Playbooks Vorrang vor dem Parameter |
description |
str | None Die Beschreibung des Parameters. |
name |
str | None Parameter name. |
value |
Any Wert des Parameters. Dieser Wert hat bei manuellen Aktionen Vorrang vor dem Parameter |
type |
ActionParamType Der Typ des Parameters. |
optional_values |
list DDL der optionalen 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 self.session -Attribut der Klasse mit params .
Mit dieser Methode werden Sie für den Dienst authentifiziert, mit dem die Sitzung interagiert, nachdem ein Objekt mit dieser Sitzung erstellt wurde. |
Attribute
Attribute | |
---|---|
params |
object , dataclass , TypedDict , namedtuple oder etwas, das alle Authentifizierungsparameter enthält.Authentifizierungsparameter |
class TIPCommon.base.interfaces.logger.Logger
class TIPCommon.base.interfaces.logger.Logger
Basis: ABC
Eine Logger-Schnittstelle für Marketplace-Skripts, die die Kompatibilität überprüft, wenn der übergebene Logger ersetzt oder simuliert wird.
Abstrakte Methoden
Abstrakte Methoden | |
---|---|
debug(msg: str, *args, **kwargs) → None |
Protokolliert eine Debugging-Nachricht. |
error(error_msg: str, *args, **kwargs) → None |
Gibt eine Fehlermeldung aus. |
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 a resource on the server. |
post(url: str, *args, **kwargs) → _R |
Stellt eine Ressource auf dem Server bereit. |
put(url: str, *args, **kwargs) → _R |
Mit dieser Methode wird eine Ressource auf dem Server platziert (aktualisiert oder erstellt). |
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 Job-Skript in Google Security Operations SOAR darstellt.
Methoden
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Stellt den 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 aufgetreten sind.
property job_start_time
property job_start_time: int
Der Zeitstempel für den Start des Jobs.
property-Logger
property logger: ScriptLogger
Stellt Protokollierungsfunktionen für das Jobskript bereit.
Property-Name
property name: str
Enthält den Namen des Job-Skripts.
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 Security Operations SOAR-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 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 Feldnummer 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 und parst einen durch Kommas getrennten Parameterwert in eine Liste eindeutiger Elemente. Diese Funktion verarbeitet einzelne Werte, in Anführungszeichen gesetzte Strings und gemischte Formate.
Parameter
Parameter | |
---|---|
param_name |
Der Parameterschlüssel. |
param_csv_value |
Der im Parameter job angegebene Parameterwert.
Bei None wird eine leere Liste zurückgegeben. |
Löst aus
ValueError
: Die Anzahl der doppelten Anführungszeichen ist ungültig, einige Werte sind ungültig oder einige Werte haben nicht übereinstimmende doppelte Anführungszeichen.
Gibt Folgendes zurück:
Eine Liste der eindeutigen Werte, 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 Skriptparameterobjekt.
Attribute
Attribute | |
---|---|
full_dict |
dict[str, Any] Das ursprüngliche Dictionary, das von der API empfangen wurde. |
id |
int | None Die ID des Parameters. |
is_mandatory |
bool Legen Sie fest, ob der Parameter obligatorisch ist. Hinweis: Dieses Attribut hat in Playbooks Vorrang vor |
name |
str | None Name des Parameters. |
type |
ActionParamType Der Typ des Parameters. |
value |
Any Der Standardwert des Parameters. Hinweis: Bei manuellen Aktionen hat dieses Attribut 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