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: SiemplifyAction

_api_client Der API-Client der Integration.

Typ: Apiable

_name Der Name des Scripts, das diese Aktion verwendet.

Typ: str

_action_start_time Der Beginn der Aktion.

Typ: int

_logger Das Logger-Objekt, das für das Logging in Aktionen verwendet wird.

Typ: SiemplifyLogger

_params Der Parametercontainer für diese Aktion.

Typ: Container

global_context Ein Wörterbuch zum Speichern des Kontexts, falls erforderlich.

Typ: dict

_entity_types Die von der Aktion unterstützten Entitätstypen.

Typ: list[EntityTypesEnum]

_entities_to_update Die Entitäten, die aktualisiert werden sollen, wenn die Aktion endet.

Typ: list[Entity]

json_results Die JSON-Ergebnisse der Aktion.

Typ: JSON

_attachments Die Anhänge des Fallergebnisses, die hinzugefügt werden sollen.

Typ: list[Attachment]

_contents Der Inhalt des Fallergebnisses, der hinzugefügt werden soll.

Typ: list[Content]

_data_tables Die Datentabellen mit den Fallergebnissen, die hinzugefügt werden sollen.

Typ: list[DataTable]

_html_reports Die HTML-Berichte zu den Fallergebnissen, die hinzugefügt werden sollen.

Typ: list[HTMLReport]

Die Links zu den Fallergebnissen, die hinzugefügt werden sollen.

Typ: list[Link]

_entity_insights Die Fallentitätsstatistiken, die hinzugefügt werden sollen.

Typ: list[EntityInsight]

_case_insights Die Fallstatistiken, die hinzugefügt werden sollen.

Typ: list[CaseInsight]

_execution_state Der endgültige Ausführungsstatus der Aktion.

Typ: ExecutionState

_result_value Der endgültige Ergebniswert der Aktion.

Typ: bool

_output_message Die Ausgabemeldung der Aktion, wenn sie erfolgreich ist.

Typ: str

_error_output_message Die Ausgabenachricht der Aktion, wenn sie fehlschlägt.

Typ: str

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 = 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 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 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 erfolgreich
  • False: 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 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 additional_properties der Entität mit self.enrichment_data aktualisiert. Das bedeutet, dass dieser Wert jedes Mal mit dem neuen Wert festgelegt wird.

Typ: dict

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: dict

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 start() zu verwenden.

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

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: str | None

filename Der Dateiname des Anhangs.

Typ: str

file_contents Der Inhalt der Anhangsdatei.

Typ: bytes

additional_data Zusätzliche Daten.

Typ: dict | None

class TIPCommon.base.action.data_models.CaseAttachment

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

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 int

Die Anhangs-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

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 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 comment_for_client.

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 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

Der Erstellungszeitpunkt des Kommentars im Unix-Format, z. B. 1686040471269.

alert_identifier str

Die 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 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:

  • info
  • warning
  • error
insight_type InsightType

Statistiktyp. Folgende Werte sind möglich:

  • general
  • entity
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

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 | 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 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 | None

Der 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 Entity

Das Entitätsobjekt.

message str

Die Nachricht der Statistik.

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 Scriptparameterobjekt.

Attribute

Attribute
full_dict dict[str, Any]

Das ursprüngliche Wörterbuch, das von der API empfangen wurde.

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, zu dem der Parameter zuletzt geändert wurde.

is_mandatory bool

Legen Sie fest, ob der Parameter obligatorisch ist oder nicht.

description str | None

Die Parameterbeschreibung.

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 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 | 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(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 | 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 Scriptparameterobjekt.

Attribute

Attribute
full_dict dict[str, Any]

Original-Dictionary, 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, zu dem der Parameter zuletzt geändert wurde.

custom_action_id int | None

Die Aktions-ID.

is_mandatory bool

Gibt an, ob der Parameter obligatorisch ist oder nicht.

default_value Any

Der Standardwert des Parameters.

Dieser Parameter hat in Playbooks Vorrang vor dem Parameter value.

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 default_value.

type ActionParamType

Der Typ des Parameters.

optional_values list

DDL 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 | None

Die ID des Parameters.

is_mandatory bool

Legen Sie fest, ob der Parameter obligatorisch ist oder nicht.

Hinweis: Dieses Attribut hat in Playbooks Vorrang vor value.

name str | None

Name des Parameters.

type ActionParamType

Der Typ des Parameters.

value Any

Der Standardwert des Parameters.

Hinweis: Dieses Attribut hat bei manuellen Maßnahmen Vorrang vor default_value.

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