TIPCommon.base

TIPCommon.base モジュールは、Google SecOps 内の統合開発の基礎となる技術リファレンスとして機能し、アクション、バックグラウンド ジョブ、クロスプラットフォーム データ正規化のコアロジックを提供します。

アクション データの解析

このセクションには、自動化タスクで使用するために、API の未加工のレスポンスからケースデータを解析して構造化されたオブジェクトに変換するために必要なユーティリティ関数が含まれています。

TIPCommon.base.action.action_parser.parse_case_attachment

TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment

このユーティリティは、API レスポンスから未加工の JSON 添付ファイル データを構造化された CaseAttachment オブジェクトに変換します。

パラメータ

パラメータ
attachment API レスポンスから取得された添付ファイルの未加工の JSON データ。

TIPCommon.base.action.action_parser.parse_case_comment

TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment

この関数は、コメント メタデータに簡単にアクセスできるように、未加工の JSON コメントデータを CaseComment オブジェクトに解析します。

パラメータ

パラメータ
comment API レスポンスから取得されたコメントの未加工の JSON データ。

class TIPCommon.base.action.base_action.Action

クラス TIPCommon.base.action.base_action.Action(name: str)

ベース: ABCGeneric[ApiClient]

Action ベースクラスは、プロパティ管理や一般的な実行フローなど、自動化開発のための統合インフラストラクチャを提供します。

パラメータ

パラメータ
name アクションのスクリプトの識別子。

属性

次の属性は、アクションの内部状態を管理し、SDK リソースと統合クライアントへのアクセスを提供します。

属性
_soar_action

SiemplifyAction

SiemplifyAction SDK オブジェクト。

_api_client

Apiable

統合の API クライアント。

_name

str

このアクションを使用するスクリプトの名前。

_action_start_time

int

アクションの開始時刻(Unix)。

_logger

SiemplifyLogger

アクションのロギングに使用されるロガー オブジェクト。

_params

Container

このアクションのパラメータ コンテナ。

global_context

dict

必要に応じてコンテキストを保存するディクショナリ。

_entity_types

list[EntityTypesEnum]

アクションでサポートされているエンティティ タイプ。

_entities_to_update

list[Entity]

アクションが終了したときに更新するエンティティ。

json_results

JSON

アクションの JSON 結果。

_attachments

list[Attachment]

追加するケース結果の添付ファイル。

_contents

list[Content]

追加するケース結果の内容。

_data_tables

list[DataTable]

追加するケース結果データテーブル。

_html_reports

list[HTMLReport]

追加するケース結果の HTML レポート。

list[Link]

追加するケース結果へのリンク。

_markdowns

list[Markdown]

追加するケース結果のマークダウン。

_entity_insights

list[EntityInsight]

追加するケース エンティティの分析情報。

_case_insights

list[CaseInsight]

追加するケースの分析情報。

_execution_state

ExecutionState

アクションの最終実行状態インジケーター。

_result_value

bool

アクションの最終結果の値。

_output_message

str

アクションが成功した場合の出力メッセージ。

_error_output_message

str

アクションが失敗した場合の出力メッセージ。

メソッド

アクション スクリプトのライフサイクルと出力形式の管理に使用される標準メソッド。

- run() アクションの実行を実行します。
- _get_adjusted_json_results() JSON の結果を特定の構造に調整します。

抽象メソッド

デベロッパーは、これらのメソッドをオーバーライドして、カスタム アクションの固有のロジックを定義する必要があります。

抽象メソッド
_validate_params() このアクションのパラメータを検証します。
_init_api_clients() アクションの API クライアントを初期化します。
_perform_action() アクションのメインロジックを実行します。

その他の方法

これらの省略可能なメソッドは、アクション実行ライフサイクルの特定のフェーズでトリガーされ、アラートの処理やリソースのクリーンアップを行います。

  • _get_entity_types()
  • _finalize_action_on_success()
  • _finalize_action_on_failure()
  • _on_entity_failure()
  • _handle_timeout()
  • _extract_action_parameters()
  • _finalize()

SDK ラッパー メソッド

これらのメソッドは、基盤となる SDK に簡単にアクセスできるようにします。これにより、アクションはケース、アラート、プラットフォーム構成を操作できます。

  • _add_attachment_to_current_case()
  • _get_current_case_attachments()
  • _add_comment_to_case()
  • _get_current_case_comments()
  • _assign_case_to_user()
  • _add_tag_to_case()
  • _attach_playbook_to_current_alert()
  • _get_similar_cases_to_current_case()
  • _get_alerts_ticket_ids_from_cases_closed_since_timestamp()
  • _change_current_case_stage()
  • _change_current_case_priority()
  • _close_current_case()
  • _close_alert()
  • _escalate_case()
  • _mark_case_as_important()
  • _raise_incident()
  • _add_entity_to_case()
  • _update_alerts_additional_data()
  • _get_current_integration_configuration()
  • _any_alert_entities_in_custom_list()
  • _add_alert_entities_to_custom_list()
  • _remove_alert_entities_from_custom_list()

実装例

次の例は、Action ベースクラスから継承してカスタム アクションを実装する方法を示しています。

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

プロパティ

次のプロパティは、アクション メタデータ、結果、SDK オブジェクトへの読み取り専用アクセスまたは管理アクセスを提供します。

action_start_time

property action_start_time: int

アクションの開始時刻を Unix 形式で表す int を返します。

api_client

property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

インテグレーション用に構成された API クライアントを表す Apiable オブジェクトを返します。

attachments

property attachments: list[Attachment]

このアクションに関連付けられたケース結果の添付ファイルを表す Attachment オブジェクトのリストを返します。このリスト内のすべての添付ファイルは、デフォルトでケースの結果に送信されます。

case_insights

property case_insights: list[CaseInsight]

このアクションに関連付けられた高レベルの検出結果を表す CaseInsight オブジェクトのリストを返します。このリストのすべてのケース分析情報は、デフォルトでケース結果に送信されます。

contents

property contents: list[Content]

ケースのテキスト結果を表す Content オブジェクトのリストを返します。このリストのすべてのコンテンツは、デフォルトでケースの結果に送信されます。

data_tables

property data_tables: list[DataTable]

ケースの表形式データの分析情報を表す DataTable オブジェクトのリストを返します。このリスト内のすべてのデータテーブルは、デフォルトでケース結果に送信されます。

entities_to_update

property entities_to_update: list[DomainEntityInfo]

アクションが完了したときにプラットフォームで更新する Entity オブジェクトのリストを返します。

entity_insights

property entity_insights: list[EntityInsight]

特定のエンティティに関連付けられた検出結果を表す EntityInsight オブジェクトのリストを返します。このリストのすべてのエンティティ分析情報は、デフォルトでケース結果に送信されます。

entity_types

property entity_types: list[EntityTypesEnum]

アクションが処理するように設計されているエンティティ タイプを表す EntityTypesEnum オブジェクトのリストを返します。アクションがエンティティに対して実行される場合、このリストに表示されているタイプのみが処理されます。

error_output_message

property error_output_message: str

実行が失敗した場合にプラットフォームに表示されるメッセージを取得または設定します。デフォルト値は Action ACTION_NAME failed です。

execution_state

property execution_state: ExecutionState

最終的な処理ステータス インジケーターを表す ExecutionState オブジェクトを返します。ステータスには次のものがあります。

  • ExecutionState.COMPLETED = 0
  • ExecutionState.IN_PROGRESS = 1
  • ExecutionState.FAILED = 2
  • ExecutionState.TIMED_OUT = 3

global_context

global_context: dict

アクションの実行中にコンテキスト情報を保存して取得するために使用される辞書。

html_reports

property html_reports: list[HTMLReport]

ケース結果のビジュアル レポートを表す HTMLReport オブジェクトのリストを返します。このリストのすべての HTML レポートは、デフォルトでケース結果に送信されます。

is_first_run

property is_first_run: bool

アクションの初回実行の場合は true、それ以外の場合は false を返します。

json_results

property json_results: Dict[str, Any] | List[Dict[str, Any]]

ケースウォールに表示し、ダウンストリームのハンドブック ロジックで使用するために、フォーマットされた JSON 結果を返します。

property links: list[Link]

ケース結果の外部参照 URL を表す Link オブジェクトのリストを返します。このリスト内のすべてのリンクは、デフォルトでケース結果に送信されます。

logger

property logger: NewLineLogger

スクリプト固有のロギングに使用される NewLineLogger インスタンスを返します。

マークダウン

property markdowns: list[Markdown]

フォーマットされたテキスト分析情報を表す Markdown オブジェクトのリストを返します。このリストのすべてのマークダウンは、デフォルトでケース結果に送信されます。

name

property name: str

アクション スクリプトの文字列名を返します。

output_message

property output_message: str

プラットフォームに表示される、アクションの実行が成功したことを示すメッセージを取得または設定します。

params

property params: Container

アクションの入力パラメータを記述する Container オブジェクトを返します。各パラメータは snake_case 属性として公開されます。

result_value

property result_value: bool

プラットフォームに返される成功インジケーターを取得または設定します。

  • True: アクションは成功しました。
  • False: アクションは失敗しました。

run

run(**kwargs)

アクション実行ロジックをトリガーする標準メソッド。

soar_action

property soar_action: SiemplifyAction

プラットフォームとの直接のやり取りに使用される基盤となる SDK SiemplifyAction オブジェクトを返します。

class TIPCommon.base.action.base_enrich_action.EnrichAction

クラス TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)

ベース: Action

EnrichAction は、外部データでエンティティ プロパティを更新するアクション用に設計された特殊なベースクラスです。

パラメータ

エンリッチメント アクションを初期化してプラットフォームに登録するには、次のパラメータが必要です。

パラメータ
name エンリッチメント アクション スクリプトの固有識別子。

属性

次の属性は、エンティティの反復処理で使用されるデータを管理し、アクションの出力結果に含まれるコンテンツを定義します。

属性
enrichment_data

dict

エンティティの各イテレーションにおける現在のエンティティの拡充データ。各イテレーションの最後に、エンティティの additional_properties 属性が self.enrichment_data で更新されます。つまり、この値は新しい値で毎回設定されます。

entity_results

Any

このオブジェクトの JSON 出力に含まれるエンティティ結果。

global_context

dict

拡充アクションの実行のさまざまなフェーズでコンテキスト データを保存して共有するために使用される辞書。

抽象メソッド

次の抽象メソッドは、アクションの特定のエンティティ タイプとエンリッチメント ロジックを定義するために、サブクラスで実装する必要があります。

抽象メソッド
_get_entity_types() アクションが実行されるエンティティのタイプを取得します。
_perform_enrich_action() エンティティに対してメインの拡充ロジックを実行します。

プライベート メソッド

これらの内部メソッドは、拡充ロジックのオーケストレーションを処理するため、変更しないでください。

プライベート メソッド
_perform_action()

このメソッドは、他の抽象メソッドをより多くの OOTB 拡充ロジックと組み合わせて、親クラスに渡して start() メソッドで使用します。

Data Models モジュール

このモジュールは、クロス インテグレーション オブジェクト、列挙型、定数の構造化された定義を提供します。

class TIPCommon.base.action.data_models.ActionParamType

クラス TIPCommon.base.action.data_models.ActionParamType(value)

ベース: Enum

ActionParamType は、アクション スクリプト パラメータでサポートされる UI データ型を定義します。

定数

定数
BOOLEAN1
CASE_PRIORITIES7
CLOSE_CASE_REASONS5
CLOSE_ROOT_CAUSE6
CODE20
CONTENT11
DDL15
EMAIL_CONTENT10
ENTITY_TYPE13
MULTI_VALUES14
NULL-1
PASSWORD12
PLAYBOOK_NAME2
STAGE4
STRING0
USER3

class TIPCommon.base.action.data_models.Attachment

クラス TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)

ベース: オブジェクト

このモデルは、ケースウォールにアップロードするスクリプト結果の添付ファイルを表します。

パラメータ

添付ファイル オブジェクトを初期化し、そのメタデータとケースにアップロードするバイナリデータを定義するには、次のパラメータが必要です。

パラメータ
filename ケースの結果内に作成するファイルの名前。
file_contents ファイルの内容を表す未加工のバイナリデータ。
title プラットフォーム UI に表示されるアタッチメントの表示タイトル。デフォルトは 'Script Result Attachment' です。

属性

次の属性は、アクション スクリプトによって生成されたファイル添付ファイルのメタデータとバイナリ コンテンツを定義します。

属性
title

str | None

プラットフォームのインターフェースに表示される添付ファイルのタイトル。

filename

str

作成するファイルの名前。

file_contents

bytes

添付ファイルの未加工のバイナリ コンテンツ。

additional_data

dict | None

添付ファイルに関連付けられた補足データを含む辞書。

class TIPCommon.base.action.data_models.CaseAttachment

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

ベース: オブジェクト

このクラスは、ケースに関連付けられた不変の添付ファイルを表します。

属性

次の属性は、プラットフォーム内のケースにすでに関連付けられている添付ファイルの特定のメタデータを表します。

属性
attachment_id

int

プラットフォームによって割り当てられた添付ファイルの一意の識別子。

attachment_type

str

添付ファイルの分類または MIME タイプ(txtcsvjson など)。

description

str

添付ファイルのコンテンツに関するユーザー定義またはシステム生成の説明。

is_favorite

bool

ケースウォールでアタッチメントがクイック アクセス用のお気に入りとしてマークされているかどうかを示します。

class TIPCommon.base.action.data_models.CaseComment

クラス 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)

ベース: オブジェクト

CaseComment は、ケースまたはアラートに関連付けられたコメントの不変のレコードを表し、作成者の詳細と監査タイムスタンプをキャプチャします。

属性

次の属性は、ケース コメントのコンテンツと管理メタデータを定義します。

属性
comment

str

コメントの主なテキスト コンテンツ。

comment_for_client

str | None

クライアントに表示されるように調整されたコメントのオプション バージョン。

modification_time_unix_time_in_ms_for_client

int

comment_for_client の変更タイムスタンプ(UNIX ミリ秒)。

last_editor

str

最終編集者の ID(77bdb7a4-8484-481d-9482-2449e33f9518 など)。

last_editor_full_name

str

コメントを最後に編集したユーザーのフルネーム(admin admin など)。

is_deleted

bool

コメントが削除済みとしてマークされているかどうかを示します。

creator_user_id

str

作成者のユーザー ID(77bdb7a4-8484-481d-9482-2449e33f9518 など)。

creator_full_name

str

作成者の完全な表示名(System など)。

comment_id

int

プラットフォームによって割り当てられたコメントの一意の整数識別子。

comment_type

int

コメントのタイプ分類。

case_id

int

このコメントに関連付けられているケースの ID。

is_favorite

bool

コメントがお気に入りとして固定されているかどうかを示します。

modification_time_unix_time_in_ms

int

コメントの最終更新日時(Unix ミリ秒単位)。例: 1686040471269

creation_time_unix_time_in_ms

int

コメントの作成時間(Unix ミリ秒単位)。例: 1686040471269

alert_identifier

str

コメントに関連するアラートの特定の識別子(SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E など)。

class TIPCommon.base.action.data_models.CaseInsight

クラス 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)

ベース: オブジェクト

CaseInsight は、ケースウォールに表示される不変の構造化された検出結果またはアラートの概要を表します。

属性

次の属性は、プラットフォーム内でアナリストに分析情報がどのように分類され、表示されるかを管理します。

属性
title

str

ケースウォールの分析情報に表示される見出し。

triggered_by

str

分析情報を生成した統合またはユーザーの名前。

content

str

インサイトの詳細なメッセージ本文または検出結果。

severity

InsightSeverity

分析情報の緊急度。

値は次のいずれかになります。

  • info
  • warning
  • error
  • insight_type

    InsightType

    分析情報を分類します。

    値は次のいずれかになります。

  • general
  • entity
  • entity_identifier

    str | None

    分析情報がエンティティに焦点を当てている場合、エンティティの特定の識別子。

    additional_data

    Any | None

    分析情報に関連付けられた補足データ。

    additional_data_type

    Any | None

    additional_data 属性のデータ型分類。

    additional_data_title

    str | None

    補足データブロックの表示タイトル。

    class TIPCommon.base.action.data_models.CasePriority

    クラス TIPCommon.base.action.data_models.CasePriority(value)

    ベース: Enum

    CasePriority は、プラットフォーム内のケースに割り当てられた整数ベースの重大度レベルを定義します。

    定数

    定数
    CRITICAL100
    HIGH80
    INFORMATIONAL0
    LOW40
    MEDIUM60

    class TIPCommon.base.action.data_models.CaseStage

    クラス TIPCommon.base.action.data_models.CaseStage(value)

    ベース: Enum

    CaseStage は、ケースのライフサイクル中にケースが移行できる運用フェーズを指定します。

    定数

    定数
    ASSESSMENT'Assessment'
    IMPROVEMENT「改善」
    INCIDENTインシデント
    INVESTIGATION調査
    RESEARCH'Research'
    TRIAGE'Triage'

    class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses

    クラス TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value)

    ベース: Enum

    CloseCaseOrAlertInconclusiveRootCauses は、明確な判断を下せないシナリオの根本原因オプションを提供します。

    定数

    定数
    NO_CLEAR_CONCLUSION「明確な結論が得られなかった」

    class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses

    クラス TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value)

    ベース: Enum

    CloseCaseOrAlertMaintenanceRootCauses は、定期的なテスト、システム メンテナンス、ルール開発に関連する根本原因を定義します。

    定数

    定数
    LAB_TEST'Lab test'
    OTHERその他
    RULE_UNDER_CONSTRUCTION「ルールは作成中です」

    class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses

    クラス TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

    ベース: Enum

    CloseCaseOrAlertMaliciousRootCauses は、確認済みの脅威、インフラストラクチャの問題、システム障害の特定のカテゴリを提供します。

    定数

    定数
    EXTERNAL_ATTACK'External attack'
    INFRASTRUCTURE_ISSUEインフラストラクチャの問題
    IRRELEVANT_TCP_UDP_PORT「Irrelevant TCP/UDP port」
    MISCONFIGURED_SYSTEM「システムが正しく構成されていません」
    OTHERその他
    SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION 「類似のケースはすでに調査中です」
    SYSTEM_APPLICATION_MALFUNCTION 'System/application malfunction'(システム / アプリケーションの誤動作)
    SYSTEM_CLOCKED_THE_ATTACK「システムが攻撃をブロックしました」
    UNFORESEEN_EFFECTS_OF_CHANGE「変更の予期せぬ影響」
    UNKNOWN'不明'

    class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses

    クラス TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

    ベース: Enum

    CloseCaseOrAlertNotMaliciousRootCauses は、脅威とならない正常なアクティビティ、正当なアクション、エラーのカテゴリを定義します。

    定数

    定数
    EMPLOYEE_ERROR「従業員エラー」
    HUMAN_ERROR「人為的ミス」
    LAB_TEST'Lab test'
    LEGIT_ACTION'Legit action'
    MISCONFIGURED_SYSTEM「システムが正しく構成されていません」
    NONE[なし]
    NORMAL_BEHAVIOR「通常の動作」
    OTHERその他
    PENETRATION_TEST「ペネトレーション テスト」
    RULE_UNDER_CONSTRUCTION「ルールは作成中です」
    SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION 「類似のケースはすでに調査中です」
    UNKNOWN'不明'
    USER_MISTAKE「ユーザーのミス」

    class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons

    クラス TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value)

    ベース: Enum

    CloseCaseOrAlertReasons は、ケースまたはアラートが閉じられる理由に関する標準化された上位レベルのカテゴリを提供します。

    定数

    定数
    MALICIOUS0
    NOT_MALICIOUS1
    MAINTENANCE2
    INCONCLUSIVE3

    class TIPCommon.base.action.data_models.Content

    クラス TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')

    ベース: オブジェクト

    Content は、ケースウォールに追加するスクリプトによって生成された不変のテキスト結果を表します。

    属性

    次の属性は、プラットフォームのケース結果に表示されるテキストまたはマークダウン ベースのコンテンツを定義します。

    属性
    title

    str | None

    スクリプト結果の UI に表示されるコンテンツ ブロックの表示タイトル。

    content

    str

    コア メッセージのコンテンツ。未加工のテキスト文字列として指定するか、マークダウンとしてフォーマットできます。

    class TIPCommon.base.action.data_models.DataTable

    クラス TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')

    ベース: オブジェクト

    DataTable は、CSV 形式の文字列のリストを表します。このリストは、ケース結果で構造化された表としてレンダリングされます。

    属性

    次の属性は、アクションの結果セット内の表形式データの構造と表示を定義します。

    属性
    title

    str | None

    プラットフォーム インターフェースのデータテーブルの上に表示される見出し。

    data_table

    list[str]

    各要素がテーブルを構成する CSV 形式の行を表す文字列のリスト。

    class TIPCommon.base.action.data_models.EntityInsight

    クラス TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)

    ベース: オブジェクト

    EntityInsight は、エンティティに関連付けられた特定の検出結果を作成するために使用されます。多くの場合、エンティティの詳細ビューに表示されます。

    属性

    次の属性は、エンティティと統合スクリプトによって生成された検出結果の関係を定義します。

    属性
    entity

    Entity

    新しい検出結果で拡充されるエンティティ オブジェクト。

    message

    str

    エンティティの主な観察結果、検出結果、説明メッセージ。

    triggered_by

    str | None

    検出結果を特定した統合の名前。

    original_requesting_user

    str | None

    リクエストを最初に開始したユーザーの固有識別子。

    class TIPCommon.base.action.data_models.EntityTypesEnum

    クラス TIPCommon.base.action.data_models.EntityTypesEnum(value)

    ベース: Enum

    EntityTypesEnum は、Google SecOps で認識されるすべてのエンティティ型の定数を提供します。

    定数

    次の定数は、エンリッチメント タスクと自動化タスク用にプラットフォームでサポートされている標準化されたエンティティ タイプを定義します。

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

    クラス TIPCommon.base.action.data_models.ExecutionState(value)

    ベース: Enum

    ExecutionState は、アクションの成功または失敗を判断するためにプラットフォームに返される最終ステータス インジケーターを表します。

    定数

    定数
    COMPLETED0
    IN_PROGRESS1
    FAILED2
    TIMED_OUT3

    class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter

    クラス TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])

    ベース: オブジェクト

    FullDetailsConfigurationParameter は、API から取得された完全なメタデータを含む一般的な統合構成パラメータをカプセル化します。

    属性

    次の属性は、パラメータのメタデータ、識別、構成制約を管理します。

    table> 属性 full_dict

    dict[str, Any]

    API レスポンスから受信した元の辞書。

    id

    int | None

    プラットフォームによって割り当てられたパラメータの一意の識別子。

    integration_identifier

    str

    このパラメータに関連付けられたインテグレーションの識別子(VirusTotalV3 など)。

    creation_time

    int

    パラメータが作成された日時を示すタイムスタンプ(UNIX ミリ秒単位)。

    modification_time

    int

    パラメータが最後に変更された日時を示すタイムスタンプ(Unix ミリ秒単位)。

    is_mandatory

    bool

    統合が機能するためにパラメータが必要かどうかを定義します。

    description

    str | None

    パラメータの目的の詳細な説明。

    name

    str

    パラメータの内部識別子名。

    display_name

    str

    プラットフォーム インターフェースに表示されるパラメータ名(人が読める形式)。

    value

    Any

    パラメータに割り当てられたデフォルト値。

    type

    IntegrationParamType

    パラメータのデータ型分類。

    optional_values

    list

    プルダウン リスト(DDL)パラメータ型に指定されたオプション値のリスト。

    class TIPCommon.base.action.data_models.HTMLReport

    クラス TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, ...)

    ベース: オブジェクト

    HTMLReport は、ケース結果に追加するカスタム HTML ベースの可視化を表します。

    属性

    属性
    title

    str | None

    ケースウォールに表示されるレポートのタイトル。

    report_name

    str

    レポートの内部識別子またはファイル名。

    report_contents

    str

    レポートのコンテンツを定義する未加工の HTML 文字列。

    class TIPCommon.base.action.data_models.IntegrationParamType

    クラス TIPCommon.base.action.data_models.IntegrationParamType(value)

    ベース: Enum

    IntegrationParamType は、統合構成設定でサポートされているデータ型を指定します。

    定数

    定数
    NULL-1
    BOOLEAN0
    INTEGER1
    STRING2
    PASSWORD3
    IP4
    EMAIL8

    クラス TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')

    ベース: オブジェクト

    Link は、ケースウォールにハイパーリンクとして表示する外部 URL の結果を表します。

    属性

    属性

    str | None

    ハイパーリンクの表示テキスト。

    str

    リンクのターゲット URL。

    class TIPCommon.base.action.data_models.Markdown

    クラス TIPCommon.base.action.data_models.Markdown(markdown_name: str, markdown_content: str, ...)

    ベース: オブジェクト

    Markdown は、マークダウン構文を使用してリッチテキスト形式のコンテンツを返す構造化された方法を提供します。

    属性

    属性
    title

    str | None

    マークダウン ブロックの表示タイトル。

    markdown_content

    str

    マークダウン構文でフォーマットされたコンテンツ。

    markdown_name

    str

    このマークダウン結果に割り当てられた一意の名前。

    class TIPCommon.base.action.data_models.ScriptParameter

    クラス TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any])

    ベース: オブジェクト

    ScriptParameter は、アクション スクリプトの単一の入力パラメータを表し、プレイブックまたは手動アクション内での値、デフォルトの状態、可視性を管理します。

    属性

    次の属性は、個々のスクリプト パラメータのメタデータ、値の優先順位付け、データ制約を管理します。

    属性
    full_dict

    dict[str, Any]

    API レスポンスから受信した元の辞書。

    id

    int | None

    プラットフォームによって割り当てられたパラメータの一意の識別子。

    creation_time

    int

    パラメータが作成された日時を示すタイムスタンプ(UNIX ミリ秒単位)。

    modification_time

    int

    パラメータが最後に変更された日時を示すタイムスタンプ(Unix ミリ秒単位)。

    custom_action_id

    int | None

    このパラメータに関連付けられたカスタム アクションの ID。

    is_mandatory

    bool

    アクション スクリプトを実行するためにパラメータを指定する必要があるかどうかを示します。

    default_value

    Any

    パラメータのデフォルト値。

    この値は、ハンドブックの実行で value よりも優先されます。

    description

    str | None

    パラメータの目的の詳細な説明。

    name

    str | None

    パラメータの内部識別子名。

    value

    Any

    パラメータの現在の値。

    この値は、手動アクションの実行で default_value よりも優先されます。

    type

    ActionParamType

    パラメータのデータ型分類。

    optional_values

    list

    プルダウン リスト(DDL)パラメータ タイプに指定されたオプション値のリスト。

    スクリプト実行の結果

    次のクラスと関数は、アクションとコネクタからプラットフォームにデータを返すための標準化された構造を定義します。

    class TIPCommon.base.data_models.ActionJsonOutput

    クラス TIPCommon.base.data_models.ActionJsonOutput(title='JsonResult', content='', type=None, is_for_entity=False, json_result=None)

    ベース: オブジェクト

    ActionJsonOutput は、アクションの構造化された JSON ペイロードを表し、特定のカテゴリ分けとエンティティ レベルのターゲティングを可能にします。

    属性

    属性
    title

    str

    JSON 結果ブロックの表示タイトル。

    content

    str

    JSON データに付随するテキスト コンテンツまたは概要。

    type

    str | None

    JSON 出力のオプションの分類タイプ。

    is_for_entity

    bool

    JSON の結果がエンティティに特に関連付けられているかどうかを示します。

    json_result

    JSON | None

    実際の構造化 JSON データ ペイロード。

    class TIPCommon.base.data_models.ActionOutput

    クラス TIPCommon.base.data_models.ActionOutput(output_message, result_value, execution_state, json_output, debug_output='')

    ベース: オブジェクト

    ActionOutput は、人間が読めるメッセージ、状態、構造化された JSON を組み合わせて、アクションの完全な結果構造をカプセル化します。

    属性

    属性
    output_message

    str

    アナリストに表示されるメインの概要メッセージ。

    result_value

    str | bool

    アクションの論理結果(成功/失敗など)。

    execution_state

    ExecutionState

    アクション実行の最終ライフサイクル状態。

    json_output

    ActionJsonOutput | None

    アクションの構造化された JSON 結果。

    debug_output

    str

    トラブルシューティング用の診断情報(省略可)。

    class TIPCommon.base.data_models.ConnectorJsonOutput

    クラス TIPCommon.base.data_models.ConnectorJsonOutput(alerts, overflow_alerts=<factory>, log_items=<factory>, log_rows=<factory>, variables=<factory>)

    ベース: オブジェクト

    ConnectorJsonOutput は、取り込まれたアラート、オーバーフローの詳細、実行ログなど、コネクタから返される構造化データを定義します。

    属性

    属性
    alerts

    list[AlertInfo | CaseInfo]

    正常に取り込まれたアラート オブジェクトまたはケース オブジェクトのリスト。

    overflow_alerts

    list[OverflowAlertDetails]

    取り込み上限を超え、オーバーフローとして処理されたアラートのリスト。

    log_items

    list

    コネクタの実行中に生成された構造化ログエントリのリスト。

    variables

    dict

    コネクタの実行間で永続化される状態変数のディクショナリ。

    class TIPCommon.base.data_models.ConnectorOutput

    クラス TIPCommon.base.data_models.ConnectorOutput(json_output, debug_output='')

    ベース: オブジェクト

    ConnectorOutput は、コネクタ実行結果の最上位コンテナを表し、構造化された JSON データとオプションのデバッグ文字列をラップします。

    属性

    属性
    json_output

    ConnectorJsonOutput | None

    取り込みデータとログデータを含む構造化された JSON 結果。

    debug_output

    str

    内部診断トラッキング用のデバッグ文字列(省略可)。

    TIPCommon.base.data_models.alert_info_from_json

    TIPCommon.base.data_models.alert_info_from_json(json_) → AlertInfo

    属性のディクショナリを解析して AlertInfo オブジェクトを作成します。これは通常、データ変換またはテスト中にアラート オブジェクトを再構築するために使用されます。

    戻り値

    指定された JSON 辞書で定義されたプロパティに基づいて、完全に初期化された AlertInfo オブジェクトを返します。

    Interfaces モジュール

    このモジュールは、基盤となるスクリプト コンポーネントの標準抽象コントラクトを定義します。

    class TIPCommon.base.interfaces.apiable.Apiable

    クラス TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)

    ベース: ABCGeneric[ApiParams]

    Apiable は、API 通信ロジックをカプセル化するクラスの抽象基本インターフェースであり、外部サービスとのやり取りの一貫した構造を保証します。

    class TIPCommon.base.interfaces.authable.Authable

    クラス TIPCommon.base.interfaces.authable.Authable

    ベース: ABCGeneric[AuthParams]

    Authable は、認証ワークフローを管理するクラスの抽象基本インターフェースです。外部サービスとの安全なセッションを確立するための標準化されたブループリントを提供します。

    抽象メソッド

    次の抽象メソッドは、ターゲット サービスに必要な特定の認証ロジックを定義するために、サブクラスで実装する必要があります。

    抽象メソッド
    authenticate_session()

    authenticate_session(params: AuthParams) → None

    指定された paramsdataclassTypedDictnamedtuple など)を使用して self.session 属性を認証します。

    このメソッドは、セッション オブジェクトの初期化後に、セッションに関連付けられたサービスとの認証を確立するために使用します。

    class TIPCommon.base.interfaces.logger.Logger

    クラス TIPCommon.base.interfaces.logger.Logger

    ベース: ABC

    マーケットプレイス スクリプトが標準化された診断出力を提供することを保証する Logger インターフェース。

    抽象メソッド

    さまざまなロギングの重大度レベルと例外レポートを処理するには、次のメソッドを実装する必要があります。

    抽象メソッド
    debug()

    debug(msg: str, *args, **kwargs) → None

    重大度レベル DEBUG のメッセージをログに記録します。

    info()

    info(msg: str, *args, **kwargs) → None

    重大度レベル INFO のメッセージをログに記録します。

    warn()

    warn(warning_msg: str, *args, **kwargs) → None

    重大度レベル WARNING のメッセージをログに記録します。

    error()

    error(error_msg: str, *args, **kwargs) → None

    重大度レベル ERROR のメッセージをログに記録します。

    exception()

    exception(ex: Exception, *args, **kwargs) → None

    例外スタック トレースを含む、重大度レベル ERROR のメッセージをログに記録します。

    class TIPCommon.base.interfaces.session.Session

    クラス TIPCommon.base.interfaces.session.Session

    ベース: ABCGeneric[_R]

    Session インターフェースは、さまざまな HTTP ライブラリを使用して API セッションを管理するための整合性のあるブループリントを提供します。

    属性

    次の属性は、確立された HTTP 通信セッションの構成とセキュリティ設定を管理します。

    属性
    headers

    dict

    セッション内の各リクエストとともに送信する HTTP ヘッダーを含むディクショナリ。

    verify

    bool

    セッションでサーバーの SSL 証明書を検証するかどうかを示すブール値。

    抽象メソッド

    次の抽象メソッドは、標準の HTTP 動詞と、サブクラスが実装する必要があるプライマリ リクエスト ディスパッチャーを定義します。

    抽象メソッド
    get()

    get(url: str, *args, **kwargs) → _R

    HTTP GET リクエストを使用してサーバーからリソースを取得します。

    post()

    post(url: str, *args, **kwargs) → _R

    HTTP POST リクエストを使用して、リソースを作成するためにサーバーにデータを送信します。

    put()

    put(url: str, *args, **kwargs) → _R

    HTTP PUT リクエストを使用して、サーバー上のリソースを更新または作成します。

    patch()

    patch(url: str, *args, **kwargs) → _R

    HTTP PATCH リクエストを使用して、リソースに部分的な変更を適用します。

    delete()

    delete(url: str, *args, **kwargs) → _R

    HTTP DELETE リクエストを使用して、指定されたリソースをサーバーから削除します。

    request()

    request(method: str, *args, **kwargs) → _R

    指定されたメソッドで HTTP リクエストを実行するために使用されるコア リクエスト ディスパッチャ。

    求人情報モジュール

    これにより、プラットフォーム内で定義されたスケジュールで実行されるバックグラウンド処理スクリプトのフレームワークが提供されます。

    class TIPCommon.base.job.base_job.Job

    クラス TIPCommon.base.job.base_job.Job(name: str)

    ベース: ABCGeneric[ApiClient]

    Job は、データ同期やヘルスチェックなどの独立したバックグラウンド オペレーションを実行するスケジュール設定されたタスク用に設計された抽象基本クラスです。

    パラメータ

    ジョブを初期化してプラットフォームに登録するには、次のパラメータが必要です。

    パラメータ
    name ジョブ スクリプトの登録と識別に使用される一意の識別子。

    属性

    次のプロパティは、ジョブの実行コンテキスト、構成、統合サービス クライアントへのアクセスを提供します。

    属性
    api_client

    ApiClient | None

    外部サービスとやり取りするための初期化された API クライアントまたはクライアントのコレクションを提供します。

    error_msg

    str

    診断レポート用に、ジョブの実行中に発生したエラー メッセージを保存します。

    job_start_time

    int

    ジョブの実行が開始された時刻を表す Unix タイムスタンプ。

    logger

    ScriptLogger

    実行中に情報、警告、エラーデータをキャプチャするためのロギング インターフェースを提供します。

    name

    str

    ジョブ スクリプトの登録名。

    params

    Container

    ジョブ インスタンスに提供される特定の構成パラメータを保持するコンテナ。

    soar_job

    SiemplifyJob

    基盤となるプラットフォーム ジョブ インスタンスを表し、低レベルの実行フックへのアクセスを提供します。

    メソッド

    次のメソッドは、ジョブのオーケストレーションと実行のライフサイクルを管理します。

    メソッド
    start()

    署名: start(**kwargs) → None

    ジョブの実行ロジックをトリガーするプライマリ エントリ ポイント。

    class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

    クラス TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)

    ベース: JobGeneric[ApiClient]

    RefreshTokenRenewalJob は、トークン メンテナンスのジョブ処理に影響するライフサイクル メソッドを提供します。サブクラスはこれらのメソッドをオーバーライドする必要はありません。

    属性

    属性
    api_client

    ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

    外部サービスとのやり取りに使用される初期化された API クライアント。

    class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

    クラス TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)

    ベース: tuple

    SuccessFailureTuple は、バッチジョブ オペレーションの結果を成功と失敗に分類するために使用される特殊な名前付きタプルです。

    属性

    属性
    success_list

    list

    正常に処理された識別子またはオブジェクトを含むリスト。

    failure_list

    list

    処理に失敗した識別子またはオブジェクトを含むリスト。

    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, param_csv_value, delimiter=',') → list[str]

    この関数は、カンマ区切り(CSV)のパラメータ文字列を検証して解析し、一意の要素のリストに変換します。単一の値、引用符付きの文字列、混合入力など、複雑な形式を処理するように設計されています。

    パラメータ

    パラメータ
    param_name

    str

    検証されるパラメータの名前またはキー。

    param_csv_value

    str | None

    ジョブ構成で指定された未加工の CSV 文字列。None の場合は空のリストを返します。

    発生

    入力文字列に無効な数の二重引用符が含まれている場合、引用符が一致しない場合、または CSV 内の個々の値のいずれかの検証に失敗した場合、ValueError 例外が発生します。

    戻り値

    入力から解析された一意の検証済み文字列の list[str] リスト。有効な値が特定されない場合、または入力が None の場合は、空のリストが返されます。

    class TIPCommon.base.job.data_models.JobParameter

    クラス TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])

    ベース: オブジェクト

    JobParameter は、ジョブ スクリプトの個々の構成パラメータを表し、そのメタデータと値の状態を管理します。

    属性

    属性
    full_dict

    dict[str, Any]

    ジョブの初期化中に API から受け取った元の辞書。

    id

    int | None

    ジョブ パラメータのプラットフォーム割り当ての固有識別子。

    is_mandatory

    bool

    ジョブを実行するためにパラメータを指定する必要があるかどうかを示します。

    name

    str | None

    パラメータの内部識別子名。

    type

    ActionParamType

    パラメータのデータ型分類。

    value

    Any

    パラメータのデフォルト値。通常、この値は自動ジョブ実行で優先されます。

    さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。