TIPCommon.base

TIPCommon.base.action.action_parser.parse_case_attachment

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

JSON 添付ファイルを解析し、CaseAttachment オブジェクトを返します。

パラメータ

パラメータ
attachment 添付ファイルを表すレスポンス JSON オブジェクト。

戻り値

解析された CaseAttachment オブジェクト。

戻り値の型

CaseAttachment

TIPCommon.base.action.action_parser.parse_case_comment

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

JSON コメントを解析して CaseComment オブジェクトを返します。

パラメータ

パラメータ
comment コメントを表すレスポンス JSON オブジェクト。

戻り値

解析された CaseComment オブジェクト。

戻り値の型

CaseComment

class TIPCommon.base.action.base_action.Action

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

ベース: ABCGeneric[ApiClient]

Google SecOps アクション開発用の統合された汎用インフラストラクチャ実装。

Action ベースクラスは、継承されたアクション クラスでオーバーライドするテンプレート抽象メソッド、汎用プロパティ、アクションの run メソッドを呼び出すときに実行されるメソッドとしての一般的なフローを提供します。

パラメータ

パラメータ
name str

アクションのスクリプト名。

属性

属性
_soar_action SiemplifyAction SDK オブジェクト。

タイプ: SiemplifyAction

_api_client 統合の API クライアント。

タイプ: Apiable

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

タイプ: str

_action_start_time アクションの開始時間。

タイプ: int

_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 追加するケース結果の HTML レポート。

タイプ: list[HTMLReport]

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

タイプ: list[Link]

_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_managers() マネージャー オブジェクトを初期化して返します。
_perform_action() アクションのメインロジックを実行します。

その他の方法

これらは、アクションの実行中に呼び出され、アラート処理フェーズに影響するメソッドですが、オーバーライドは必須ではありません。

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

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

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

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

property api_client

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

Apiable オブジェクトを返します。

property の添付ファイル

property attachments: list[Attachment]

デフォルトでは、リスト内のすべての添付ファイルがケースの結果に送信されます。

このケースの分析情報を表す Attachment オブジェクトのリストを返します。

property case_insights

property case_insights: list[CaseInsight]

リスト内のすべてのケース分析情報は、デフォルトでケース結果に送信されます。

このケースの分析情報を表す CaseInsight オブジェクトのリストを返します。

property のコンテンツ

property contents: list[Content]

デフォルトでは、リストの内容がすべてケースの結果に送信されます。

このケースの分析情報を表す Content オブジェクトのリストを返します。

property data_tables

property data_tables: list[DataTable]

デフォルトでは、リスト内のすべてのデータテーブルがケース結果に送信されます。

このケースの分析情報を表す DataTable オブジェクトのリストを返します。

property entities_to_update

property entities_to_update: list[DomainEntityInfo]

リスト内のすべてのエンティティが、更新のためにプラットフォームに送信されます。

ケースで更新する必要があるエンティティを表す Entity オブジェクトのリストを返します。

property entity_insights

property entity_insights: list[EntityInsight]

リスト内のすべてのエンティティ分析情報は、デフォルトでケース結果に送信されます。

このケースの分析情報を表す EntityInsight オブジェクトのリストを返します。

property エンティティ タイプ

property entity_types: list[EntityTypesEnum]

アクションがエンティティを処理する場合、タイプが entity_types リストに含まれているエンティティのみが処理されます。それ以外の場合、アクションはエンティティをスキップします。

アクションが処理できるエンティティ タイプを表す EntityTypesEnum オブジェクトのリストを返します。

property error_output_message

property error_output_message: str

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

アクションの実行中に失敗した場合に表示される出力メッセージ。デフォルト値は ActionSCRIPT_NAMEfailed です。

property execution_state

property execution_state: ExecutionState

アクションの実行状態。プラットフォームに渡す整数で表されるステータス インジケーター。

ステータスには次のものがあります。

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

現在の実行状態を表す ExecutionState オブジェクトを返します。

property html_reports

property html_reports: list[HTMLReport]

リスト内のすべての HTML レポートは、デフォルトでケース結果に送信されます。

このケースの分析情報を表す HTMLReport オブジェクトのリストを返します。

property is_first_run

property is_first_run: bool

初回実行かどうかを示します。

戻り値:

初回実行の場合は True、それ以外の場合は False

property json_results

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

ケースウォールに送信されるアクションの JSON 結果を返します。

property links: list[Link]

リスト内のすべてのリンクは、デフォルトでケース結果に送信されます。

このケースの分析情報を表す Link オブジェクトのリストを返します。

property ロガー

property logger: NewLineLogger

アクションの NewLineLogger オブジェクトを返します。

property

property name: str

property output_message

property output_message: str

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

アクションの結果をまとめた出力メッセージ。

property パラメータ

property params: [Container]

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

property result_value

property result_value: bool

プラットフォームに渡すアクションの結果値。

値は次のいずれかです。

  • True: アクションが成功しました
  • False: アクションエラー

property 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

エンティティの拡充アクションを表すクラス。

このクラスは TIPCommon.base.actions.base_action::Action クラスから継承します。

パラメータ

パラメータ
name str

アクションの名前。

属性

属性
enrichment_data

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

タイプ: dict

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

タイプ: Any

global_context

必要に応じてコンテキストを保存する辞書。

タイプ: dict

抽象メソッド

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

プライベート メソッド

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

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

class TIPCommon.base.action.data_models.ActionParamType

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

ベース: Enum

定数

  • 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

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

ベース: オブジェクト

アクション スクリプトの結果の添付ファイル。

このクラスは不変です。作成後に属性を変更することはできません。ハッシュ化(セットでの使用や辞書のキーとしての使用など)と == 演算子を使用した等価比較をサポートしています。

属性

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

添付ファイルの ID。

attachment_type str

添付ファイルの種類。

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)

ベース: オブジェクト

ケースのコメント。

このクラスは不変です。値を割り当ててオブジェクトを作成した後は、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と == 演算子をサポートしています。

属性

属性
comment str

コメント。

comment_for_client str | None

クライアントのコメント。

modification_time_unix_time_in_ms_for_client int

comment_for_client の変更日時。

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

コメントの ID。

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

アラートの ID(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)

ベース: オブジェクト

ケース分析情報。

このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と == 演算子をサポートしています。

属性

属性
title str

分析情報のタイトル。

triggered_by str

統合名。

content str

分析情報のメッセージ。

severity InsightSeverity

分析情報の重要度。次の値があります。

  • info
  • warning
  • error
insight_type InsightType

分析情報の種類。次の値があります。

  • general
  • entity
entity_identifier str | None

エンティティの ID。

additional_data Any | None

追加データ。

additional_data_type Any | None

追加データのタイプ。

additional_data_title str | None

追加データのタイトル。

class TIPCommon.base.action.data_models.CasePriority

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

ベース: Enum

定数

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIONAL = 0

  • LOW = 40

  • MEDIUM = 60

class TIPCommon.base.action.data_models.CaseStage

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

ベース: Enum

定数

  • ASSESSMENT = 'Assessment'

  • IMPROVEMENT = 'Improvement'

  • INCIDENT = 'Incident'

  • INVESTIGATION = 'Investigation'

  • RESEARCH = 'Research'

  • TRIAGE = 'Triage'

class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses

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

ベース: Enum

定数

  • NO_CLEAR_CONCLUSION = 'No clear conclusion'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses

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

ベース: Enum

定数

  • LAB_TEST = 'Lab test'

  • OTHER = 'Other'

  • RULE_UNDER_CONSTRUCTION = '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

定数

  • 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

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

ベース: Enum

定数

  • 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

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

ベース: Enum

### 定数

  • INCONCLUSIVE = 3

  • MAINTENANCE = 2

  • MALICIOUS = 0

  • NOT_MALICIOUS = 1

class TIPCommon.base.action.data_models.Content

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

ベース: オブジェクト

アクション スクリプトの結果コンテンツ。

このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と == 演算子をサポートしています。

属性

属性
title str | None

コンテンツのタイトル。

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

ベース: オブジェクト

アクション スクリプトの結果データテーブル。

このクラスは不変です。値を割り当ててオブジェクトを作成した後は、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と == 演算子をサポートしています。

属性

属性
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)

ベース: オブジェクト

エンティティの分析情報。

このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と == 演算子をサポートしています。

属性

属性
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, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

ベース: Enum

定数

  • 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, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

ベース: Enum

定数

  • COMPLETED = 0

  • FAILED = 2

  • IN_PROGRESS = 1

  • TIMED_OUT = 3

class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter

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

ベース: オブジェクト

一般的なスクリプト パラメータ オブジェクト。

属性

属性
full_dict dict[str, Any]

API から受信した元の辞書。

id int | None

パラメータの ID。

integration_identifier str

統合 ID(VirusTotalV3 など)。

creation_time int

パラメータが作成された時刻。

modification_time int

パラメータが最後に変更された時刻。

is_mandatory bool

パラメータが必須かどうかを定義します。

description str | None

パラメータの説明。

name str

パラメータ名。

display_name str

パラメータの表示名。

value Any

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

type IntegrationParamType

パラメータのタイプ。

optional_values list

型 DDL の省略可能な値の DDL。

class TIPCommon.base.action.data_models.HTMLReport

クラス TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')

ベース: オブジェクト

アクション スクリプト結果リンク。

このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と == 演算子をサポートしています。

属性

属性
title str | None

リンクのタイトル。

report_name str

レポートの名前。

report_contents str

レポートの HTML コンテンツ。

class TIPCommon.base.action.data_models.IntegrationParamType

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

ベース: Enum

定数

  • BOOLEAN = 0

  • EMAIL = 8

  • INTEGER = 1

  • IP = 4

  • NULL = -1

  • PASSWORD = 3

  • STRING = 2

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

ベース: オブジェクト

アクション スクリプト結果リンク。

このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と == 演算子をサポートしています。

属性

属性
title str | None

リンクのタイトル。

link str

リンク。

class TIPCommon.base.action.data_models.ScriptParameter

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

ベース: オブジェクト

一般的なスクリプト パラメータ オブジェクト。

属性

属性
full_dict dict[str, Any]

API から受信した元の辞書。

id int | None

パラメータの ID。

creation_time int

パラメータが作成された時刻。

modification_time int

パラメータが最後に変更された時刻。

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 の省略可能な値の DDL。

class TIPCommon.base.interfaces.apiable.Apiable

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

ベース: ABCGeneric[ApiParams]

外部サービスへの API 呼び出しを管理するクラスのインターフェース。

class TIPCommon.base.interfaces.authable.Authable

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

ベース: ABCGeneric[AuthParams]

外部サービスとの認証を管理するクラスのインターフェース。

抽象メソッド

抽象メソッド
authenticat_session(params: Authparams) → None params を使用してクラスの self.session 属性を認証します。

このメソッドは、セッションを使用してオブジェクトを作成した後、セッションがやり取りするサービスに対して認証を行います。

属性

属性
params objectdataclassTypedDictnamedtuple、またはすべての認証パラメータを保持する任意のオブジェクト。

認証パラメータ。

class TIPCommon.base.interfaces.logger.Logger

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

ベース: ABC

マーケットプレイス スクリプト用に設計されたロガー インターフェース。渡されたロガーが置き換えられたり、モックされたりした場合に互換性を検証します。

抽象メソッド

抽象メソッド
debug(msg: str, *args, **kwargs) → None デバッグ メッセージをログに記録します。
error(error_msg: str, *args, **kwargs) → None エラー メッセージをログに記録します。
exception(ex: Exception, *args, **kwargs) → None 例外メッセージをログに記録します。
info(msg: str, *args, **kwargs) → None 情報メッセージをログに記録します。
warn(warning_msg: str, *args, **kwargs) → None 警告メッセージをログに記録します。

class TIPCommon.base.interfaces.session.Session

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

ベース: ABCGeneric[_R]

このクラスは、セッション オブジェクトを使用して API セッションを管理します。requestshttpx などのライブラリを使用して、さまざまなセッション タイプとモックをサポートします。

属性

属性
headers dict
verify bool

抽象メソッド

抽象メソッド
delete(url: str, *args, **kwargs)→ _R サーバーからリソースを削除します。
get(url: str, *args, **kwargs)→ _R サーバーからリソースを取得します。
patch(url: str, *args, **kwargs) → _R サーバー上のリソースにパッチを適用します。
post(url: str, *args, **kwargs) → _R リソースをサーバーに投稿します。
put(url: str, *args, **kwargs) → _R サーバーにリソースを配置(更新または作成)します。
request(method: str, *args, **kwargs) → _R サーバーにリクエストを送信します。

class TIPCommon.base.job.base_job.Job

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

ベース: ABCGeneric[ApiClient]

Google Security Operations SOAR のジョブ スクリプトを表すクラス。

メソッド

  • start(**kwargs) → None

property api_client

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

外部サービスとやり取りするための API クライアントを提供します。

property error_msg

property error_msg: str

ジョブの実行中に発生したエラー メッセージを保存します。

property job_start_time

property job_start_time: int

ジョブが開始されたときのタイムスタンプを表します。

property ロガー

property logger: ScriptLogger

ジョブ スクリプトのロギング機能を提供します。

property

property name: str

ジョブ スクリプトの名前を保持します。

property パラメータ

property params: Container

ジョブに提供された構成パラメータが含まれます。

プロパティ soar_job

property soar_job: SiemplifyJob

基盤となる Google Security Operations SOAR ジョブ インスタンスを表します。

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

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

ベース: JobGeneric[ApiClient]

このセクションでは、ジョブ処理に影響するライフサイクル メソッドについて説明します。サブクラスはオーバーライドする必要はありません。

property api_client

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

ベース: タプル

属性

属性
success_list フィールド番号 0 のエイリアス。
failure_list フィールド番号 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]

カンマ区切りのパラメータ値を検証して解析し、一意の要素のリストにします。この関数は、単一の値、引用符付きの文字列、混合形式を処理します。

パラメータ

パラメータ
param_name パラメータキー。
param_csv_value job パラメータで指定されたパラメータ値。None の場合、空のリストが返されます。

発生

ValueError - 二重引用符の数が無効であるか、一部の値が無効であるか、一部の値の二重引用符が一致していない場合。

戻り値

ジョブ パラメータで指定された一意の値のリスト。有効な値が見つからない場合は、空のリストが返されます。

戻り値の型

list[str]

class TIPCommon.base.job.data_models.JobParameter

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

ベース: オブジェクト

一般的なスクリプト パラメータ オブジェクト。

属性

属性
full_dict dict[str, Any]

API から受信した元の dict。

id int | None

パラメータの ID。

is_mandatory bool

パラメータが必須かどうかを定義します。

注: この属性は、プレイブックの value よりも優先されます。

name str | None

パラメータの名前。

type ActionParamType

パラメータのタイプ。

value Any

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

注: この属性は、手動アクションでは default_value よりも優先されます。

class TIPCommon.base.data_models.ActionJsonOutput

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

ベース: オブジェクト

アクションの構造化 JSON 出力を表します。

class TIPCommon.base.data_models.ActionOutput

クラス TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')

ベース: オブジェクト

アクションの完全な出力構造を表します。

class TIPCommon.base.data_models.ConnectorJsonOutput

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

ベース: オブジェクト

コネクタの構造化された JSON 出力を表します。

class TIPCommon.base.data_models.ConnectorOutput

クラス TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')

ベース: オブジェクト

コネクタの完全な出力構造を表します。

TIPCommon.base.data_models.alert_info_from_json

TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo

属性の JSON から AlertInfo オブジェクトを作成します。

戻り値

作成された AlertInfo オブジェクト。

戻り値の型

AlertInfo

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