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

_api_client Der API-Client der Integration.

Typ: Apiable

_name Der Name des Skripts, in dem diese Aktion verwendet wird.

Typ: str

_action_start_time Die Startzeit 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 Dictionary 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 Einheiten, die aktualisiert werden sollen, wenn die Aktion endet.

Typ: list[Entity]

json_results Die JSON-Ergebnisse der Aktion.

Typ: JSON

_attachments Die Anhänge mit den Fallergebnissen, die hinzugefügt werden sollen.

Typ: list[Attachment]

_contents Die Inhalte des Fallergebnisses, die hinzugefügt werden sollen.

Typ: list[Content]

_data_tables Die hinzuzufügenden Tabellen mit Fallergebnissen.

Typ: list[DataTable]

_html_reports Die HTML-Berichte mit Testergebnissen, die hinzugefügt werden sollen.

Typ: list[HTMLReport]

Die hinzuzufügenden Links zum Fallergebnis.

Typ: list[Link]

_entity_insights Die hinzuzufügenden Case-Entitätsstatistiken.

Typ: list[EntityInsight]

_case_insights Die hinzuzufügenden Fallstatistiken.

Typ: list[CaseInsight]

_execution_state Der endgültige Ausführungsstatus der Aktion.

Typ: ExecutionState

_result_value Der Wert des Endergebnisses der Aktion.

Typ: bool

_output_message Die Ausgabemeldung der Aktion bei Erfolg.

Typ: str

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

Typ: str

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

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

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 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 Dictionary zum Speichern des Kontexts, falls erforderlich.

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ü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 start() verwendet werden kann.

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

filename Der Dateiname des Anhangs.

Typ: str

file_contents Der Inhalt der angehängten Datei.

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

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:

  • 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

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

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