TIPCommon.base

TIPCommon.base.action.action_parser.parse_case_attachment

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

Mengurai lampiran JSON dan menampilkan objek CaseAttachment.

Parameter

Parameter
attachment Objek JSON respons yang merepresentasikan lampiran.

Hasil

Objek CaseAttachment yang diuraikan.

Jenis hasil yang ditampilkan

CaseAttachment

TIPCommon.base.action.action_parser.parse_case_comment

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

Mengurai komentar JSON dan menampilkan objek CaseComment.

Parameter

Parameter
comment Objek JSON respons yang merepresentasikan komentar.

Hasil

Objek CaseComment yang diuraikan.

Jenis hasil yang ditampilkan

CaseComment

class TIPCommon.base.action.base_action.Action

class TIPCommon.base.action.base_action.Action(name: str)

Dasar: ABC, Generic[ApiClient]

Implementasi infrastruktur generik terpadu untuk pengembangan tindakan Google SecOps.

Class dasar Action menyediakan metode abstrak template untuk diganti di class tindakan yang diwarisi, properti generik, dan alur umum sebagai metode yang dijalankan saat memanggil metode run tindakan.

Parameter

Parameter
name str

Nama skrip tindakan.

Atribut

Atribut
_soar_action Objek SiemplifyAction SDK.

Jenis: SiemplifyAction

_api_client Klien API integrasi.

Jenis: Apiable

_name Nama skrip yang menggunakan tindakan ini.

Jenis: str

_action_start_time Waktu mulai tindakan.

Jenis: int

_logger Objek logger yang digunakan untuk mencatat tindakan.

Jenis: SiemplifyLogger

_params Penampung parameter untuk tindakan ini.

Jenis: Container

global_context Kamus untuk menyimpan konteks, jika diperlukan.

Jenis: dict

_entity_types Jenis entitas yang didukung oleh tindakan.

Jenis: list[EntityTypesEnum]

_entities_to_update Entitas yang akan diperbarui saat tindakan berakhir.

Jenis: list[Entity]

json_results Hasil JSON tindakan.

Jenis: JSON

_attachments Lampiran hasil kasus yang akan ditambahkan.

Jenis: list[Attachment]

_contents Konten hasil kasus yang akan ditambahkan.

Jenis: list[Content]

_data_tables Tabel data hasil kasus yang akan ditambahkan.

Jenis: list[DataTable]

_html_reports Laporan HTML hasil kasus yang akan ditambahkan.

Jenis: list[HTMLReport]

Link hasil kasus yang akan ditambahkan.

Jenis: list[Link]

_entity_insights Insight entity kasus yang akan ditambahkan.

Jenis: list[EntityInsight]

_case_insights Insight kasus yang akan ditambahkan.

Jenis: list[CaseInsight]

_execution_state Status eksekusi akhir tindakan.

Jenis: ExecutionState

_result_value Nilai hasil akhir tindakan.

Jenis: bool

_output_message Pesan output tindakan saat berhasil.

Jenis: str

_error_output_message Pesan output tindakan saat gagal.

Jenis: str

Metode

- run() Menjalankan eksekusi tindakan.
- _get_adjusted_json_results() Menyesuaikan hasil JSON ke struktur tertentu.

Metode abstrak

Metode abstrak
_validate_params() Memvalidasi parameter untuk tindakan ini.
_init_managers() Melakukan inisialisasi dan menampilkan objek pengelola.
_perform_action() Melakukan logika utama tindakan.

Metode tambahan

Metode ini dipanggil selama eksekusi tindakan dan memengaruhi fase pemrosesan pemberitahuan, tetapi tidak wajib diganti.

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

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

Contoh

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

Menampilkan int yang merepresentasikan waktu mulai tindakan dalam Unix.

property api_client

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

Menampilkan objek yang dapat di-API-kan.

Lampiran properti

property attachments: list[Attachment]

Semua lampiran dalam daftar dikirim ke hasil kasus secara default.

Menampilkan daftar objek Attachment yang mewakili insight untuk kasus ini.

property case_insights

property case_insights: list[CaseInsight]

Semua insight kasus dalam daftar dikirim ke hasil kasus secara default.

Menampilkan daftar objek CaseInsight yang mewakili insight untuk kasus ini.

Isi properti

property contents: list[Content]

Semua konten daftar dikirim ke hasil kasus secara default.

Menampilkan daftar objek Konten yang mewakili insight untuk kasus ini.

Tabel data property

property data_tables: list[DataTable]

Secara default, semua tabel data dalam daftar dikirim ke hasil kasus.

Menampilkan daftar objek DataTable yang merepresentasikan insight untuk kasus ini.

Entitas property yang akan diperbarui

property entities_to_update: list[DomainEntityInfo]

Semua entity dalam daftar dikirim ke platform untuk diperbarui.

Menampilkan daftar objek Entity yang merepresentasikan entitas yang harus diperbarui dalam kasus ini.

Insight entitas property

property entity_insights: list[EntityInsight]

Semua insight entitas dalam daftar dikirim ke hasil kasus secara default.

Menampilkan daftar objek EntityInsight yang mewakili insight untuk kasus ini.

Jenis entitas property

property entity_types: list[EntityTypesEnum]

Jika tindakan berfungsi dengan entity, tindakan hanya akan memproses entity yang jenisnya ada dalam daftar entity_types. Jika tidak, tindakan akan melewati entitas.

Menampilkan daftar objek EntityTypesEnum yang merepresentasikan jenis entity yang dapat diproses oleh tindakan.

property error_output_message

property error_output_message: str

Pesan output tindakan jika terjadi kegagalan eksekusi.

Pesan output yang akan muncul jika terjadi kegagalan selama runtime tindakan. Nilai defaultnya adalah ActionSCRIPT_NAMEfailed.

Status eksekusi property

property execution_state: ExecutionState

Status eksekusi tindakan—indikator status yang diwakili oleh bilangan bulat untuk diteruskan kembali ke platform.

Kemungkinan statusnya adalah sebagai berikut:

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

Menampilkan objek ExecutionState yang mewakili status eksekusi saat ini.

property html_reports

property html_reports: list[HTMLReport]

Semua laporan HTML dalam daftar akan dikirim ke hasil kasus secara default.

Menampilkan daftar objek HTMLReport yang mewakili insight untuk kasus ini.

property is_first_run

property is_first_run: bool

Menunjukkan apakah ini adalah peluncuran pertama.

Menampilkan:

True jika ini adalah proses pertama, False jika tidak.

property json_results

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

Menampilkan hasil JSON tindakan yang akan dikirim ke dinding kasus.

property links: list[Link]

Semua link dalam daftar akan dikirim ke hasil kasus secara default.

Menampilkan daftar objek Link yang mewakili insight untuk kasus ini.

Pencatat properti

property logger: NewLineLogger

Menampilkan objek NewLineLogger untuk tindakan.

Nama properti

property name: str

property output_message

property output_message: str

Pesan output tindakan jika berhasil dijalankan.

Pesan output yang merangkum hasil tindakan.

Parameter property

property params: [Container]

Menampilkan objek Container yang menjelaskan parameter tindakan, dengan setiap parameter ditampilkan sebagai atribut snake_case.

property result_value

property result_value: bool

Nilai hasil tindakan yang akan dikirim kembali ke platform.

Nilai yang memungkinkan:

  • True: Tindakan Berhasil
  • False: Tindakan Gagal

property soar_action

property soar_action: SiemplifyAction

Menampilkan objek SiemplifyAction SDK.

class TIPCommon.base.action.base_enrich_action.EnrichAction

class TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)

Dasar: Tindakan

Class yang merepresentasikan tindakan pengayaan entitas.

Class ini mewarisi dari class TIPCommon.base.actions.base_action::Action.

Parameter

Parameter
name str

Nama tindakan.

Atribut

Atribut
enrichment_data

Atribut ini menyimpan data pengayaan untuk entitas saat ini di setiap iterasi entitas. Di akhir setiap iterasi, atribut additional_properties entitas diperbarui dengan self.enrichment_data, yang berarti nilai ini ditetapkan setiap kali dengan nilai baru.

Jenis: dict

entity_results Hasil entity yang disertakan dalam output JSON untuk objek ini.

Jenis: Apa pun

global_context

Kamus untuk menyimpan konteks jika diperlukan.

Jenis: dict

Metode abstrak

Metode abstrak
_get_entity_types() Mendapatkan jenis entitas yang menjalankan tindakan.
_perform_enrich_action() Lakukan logika pengayaan utama pada entity.

Metode pribadi

Metode pribadi
_perform_action()

Metode ini menggabungkan metode abstrak lainnya dengan logika pengayaan OOTB lainnya dan meneruskannya ke class induk untuk digunakan dalam metode start().

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)

Dasar: Enum

Konstanta

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

Dasar: object

Lampiran hasil skrip tindakan.

Class ini tidak dapat diubah: setelah dibuat, atributnya tidak dapat diubah. Objek ini mendukung hashing (misalnya, digunakan dalam set atau sebagai kunci kamus) dan perbandingan kesetaraan menggunakan operator ==.

Atribut

Atribut
title Judul lampiran.

Jenis: str | None

filename Nama file lampiran.

Jenis: str

file_contents Konten file lampiran.

Jenis: bytes

additional_data Data tambahan.

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

Dasar: object

Lampiran kasus.

Class ini tidak dapat diubah; setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
attachment_id int

ID lampiran.

attachment_type str

Jenis lampiran.

description str

Deskripsi lampiran.

is_favorite bool

Menunjukkan apakah lampiran ditandai sebagai favorit.

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)

Dasar: object

Komentar kasus.

Class ini tidak dapat diubah; setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
comment str

Komentar.

comment_for_client str | None

Komentar untuk klien.

modification_time_unix_time_in_ms_for_client int

Waktu modifikasi untuk comment_for_client.

last_editor str

ID editor terakhir, seperti 77bdb7a4-8484-481d-9482-2449e33f9518.

last_editor_full_name str

Nama lengkap pengguna editor terakhir, seperti admin admin.

is_deleted bool

Menunjukkan apakah komentar sudah dihapus.

creator_user_id str

ID pengguna pembuat, seperti 77bdb7a4-8484-481d-9482-2449e33f9518.

creator_full_name str

Nama lengkap kreator, seperti System.

comment_id int

ID komentar.

comment_type int

Jenis komentar.

case_id int

ID kasus.

is_favorite bool

Menunjukkan apakah komentar ditandai sebagai favorit.

modification_time_unix_time_in_ms int

Waktu modifikasi terakhir komentar dalam Unix, seperti 1686040471269.

creation_time_unix_time_in_ms int

Waktu pembuatan komentar dalam Unix, seperti 1686040471269.

alert_identifier str

ID pemberitahuan, seperti 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)

Dasar: object

Insight kasus.

Class ini tidak dapat diubah: setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
title str

Judul insight.

triggered_by str

Nama integrasi.

content str

Pesan insight.

severity InsightSeverity

Tingkat keparahan insight. Nilainya dapat berupa:

  • info
  • warning
  • error
insight_type InsightType

Jenis insight. Nilainya dapat berupa:

  • general
  • entity
entity_identifier str | None

ID entitas.

additional_data Any | None

Data tambahan.

additional_data_type Any | None

Jenis data tambahan.

additional_data_title str | None

Judul data tambahan.

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)

Dasar: Enum

Konstanta

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

Dasar: Enum

Konstanta

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

Dasar: Enum

Konstanta

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

Dasar: Enum

Konstanta

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

Dasar: Enum

Konstanta

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

Dasar: Enum

Konstanta

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

Dasar: Enum

### Konstanta

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

Dasar: object

Konten hasil skrip tindakan.

Class ini tidak dapat diubah: setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
title str | None

Judul konten.

content str

Konten yang akan ditambahkan ke hasil skrip.

class TIPCommon.base.action.data_models.DataTable

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

Dasar: object

Tabel data hasil skrip tindakan.

Class ini tidak dapat diubah; setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
title str | None

Judul tabel.

data_table list[str]

Daftar baris CSV yang menyusun tabel.

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)

Dasar: object

Insight entitas.

Class ini tidak dapat diubah: setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
entity Entity

Objek entity.

message str

Pesan insight.

triggered_by str | None

Nama integrasi.

original_requesting_user str | None

Pengguna asli.

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)

Dasar: Enum

Konstanta

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

Dasar: Enum

Konstanta

  • 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])

Dasar: object

Objek parameter skrip umum.

Atribut

Atribut
full_dict dict[str, Any]

Kamus asli yang diterima dari API.

id int | None

ID parameter.

integration_identifier str

ID integrasi, seperti VirusTotalV3.

creation_time int

Waktu saat parameter dibuat.

modification_time int

Waktu saat parameter terakhir diubah.

is_mandatory bool

Tentukan apakah parameter wajib diisi atau tidak.

description str | None

Deskripsi parameter.

name str

Nama parameter.

display_name str

Nama parameter yang ditampilkan.

value Any

Nilai default parameter.

type IntegrationParamType

Jenis parameter.

optional_values list

DDL nilai opsional untuk DDL jenis.

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

Dasar: object

Link hasil skrip tindakan.

Class ini tidak dapat diubah: setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
title str | None

Judul link.

report_name str

Nama laporan.

report_contents str

Konten HTML laporan.

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)

Dasar: Enum

Konstanta

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

Dasar: object

Link hasil skrip tindakan.

Class ini tidak dapat diubah: setelah menetapkan nilai dan membuat objek, nilai baru tidak dapat ditetapkan ke atribut. Class ini mendukung hashing (disimpan dalam set atau sebagai kunci dict) dan operator ==.

Atribut

Atribut
title str | None

Judul link.

link str

Link.

class TIPCommon.base.action.data_models.ScriptParameter

class TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]

Dasar: object

Objek parameter skrip umum.

Atribut

Atribut
full_dict dict[str, Any]

Kamus asli yang diterima dari API.

id int | None

ID parameter.

creation_time int

Waktu saat parameter dibuat.

modification_time int

Waktu saat parameter terakhir diubah.

custom_action_id int | None

ID tindakan.

is_mandatory bool

Menunjukkan apakah parameter wajib diisi atau tidak.

default_value Any

Nilai default parameter.

Parameter ini diprioritaskan daripada parameter value dalam playbook.

description str | None

Deskripsi parameter.

name str | None

Nama parameter.

value Any

Nilai parameter.

Nilai ini diprioritaskan daripada parameter default_value dalam tindakan manual.

type ActionParamType

Jenis parameter.

optional_values list

DDL nilai opsional untuk DDL jenis.

class TIPCommon.base.interfaces.apiable.Apiable

class TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)

Dasar: ABC, Generic[ApiParams]

Antarmuka untuk class yang mengelola panggilan API ke layanan eksternal.

class TIPCommon.base.interfaces.authable.Authable

class TIPCommon.base.interfaces.authable.Authable

Dasar: ABC, Generic[AuthParams]

Antarmuka untuk class yang mengelola autentikasi dengan layanan eksternal.

Metode abstrak

Metode abstrak
authenticat_session(params: Authparams) → None Lakukan autentikasi atribut self.session class menggunakan params.

Metode ini mengautentikasi Anda ke layanan yang berinteraksi dengan sesi, setelah pembuatan objek menggunakan sesi tersebut.

Atribut

Atribut
params object, dataclass, TypedDict, namedtuple, atau apa pun yang menyimpan semua parameter autentikasi.

Parameter autentikasi.

class TIPCommon.base.interfaces.logger.Logger

class TIPCommon.base.interfaces.logger.Logger

Basis: ABC

Antarmuka logger yang dirancang untuk skrip marketplace, yang memverifikasi kompatibilitas saat logger yang diteruskan diganti atau di-mock.

Metode abstrak

Metode abstrak
debug(msg: str, *args, **kwargs) → None Mencatat pesan debug.
error(error_msg: str, *args, **kwargs) → None Mencatat pesan error.
exception(ex: Exception, *args, **kwargs) → None Mencatat pesan pengecualian.
info(msg: str, *args, **kwargs) → None Mencatat pesan informasi.
warn(warning_msg: str, *args, **kwargs) → None Mencatat pesan peringatan.

class TIPCommon.base.interfaces.session.Session

class TIPCommon.base.interfaces.session.Session

Dasar: ABC, Generic[_R]

Class ini mengelola sesi API menggunakan objek sesi. Class ini mendukung berbagai jenis sesi dan tiruan dengan library seperti requests atau httpx.

Atribut

Atribut
headers dict
verify bool

Metode abstrak

Metode abstrak
delete(url: str, *args, **kwargs)→ _R Menghapus resource dari server.
get(url: str, *args, **kwargs)→ _R Mendapatkan resource dari server.
patch(url: str, *args, **kwargs) → _R Membuat patch resource di server.
post(url: str, *args, **kwargs) → _R Memposting resource ke server.
put(url: str, *args, **kwargs) → _R Menempatkan (mengupdate atau membuat) resource di server.
request(method: str, *args, **kwargs) → _R Membuat permintaan ke server.

class TIPCommon.base.job.base_job.Job

class TIPCommon.base.job.base_job.Job(name: str)

Dasar: ABC, Generic[ApiClient]

Class yang merepresentasikan skrip tugas di SOAR Google Security Operations.

Metode

  • start(**kwargs) → None

property api_client

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

Menyediakan klien API untuk berinteraksi dengan layanan eksternal.

property error_msg

property error_msg: str

Menyimpan pesan error yang terjadi selama eksekusi tugas.

property job_start_time

property job_start_time: int

Menampilkan stempel waktu saat tugas dimulai.

Pencatat properti

property logger: ScriptLogger

Menyediakan fungsi logging untuk skrip tugas.

Nama properti

property name: str

Menyimpan nama skrip tugas.

Parameter property

property params: Container

Berisi parameter konfigurasi yang diberikan ke tugas.

property soar_job

property soar_job: SiemplifyJob

Mewakili instance tugas SOAR Google Security Operations yang mendasarinya.

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)

Dasar: Job, Generic[ApiClient]

Bagian ini menjelaskan metode siklus proses yang memengaruhi pemrosesan tugas. Subclass tidak diwajibkan untuk menggantinya.

property api_client

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

Menampung klien API yang digunakan untuk interaksi layanan eksternal.

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)

Dasar: tuple

Atribut

Atribut
success_list Alias untuk nomor kolom 0.
failure_list Alias untuk kolom nomor 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]

Memvalidasi dan mengurai nilai parameter yang dipisahkan koma menjadi daftar elemen unik. Fungsi ini menangani nilai tunggal, string yang diapit tanda petik, dan format campuran.

Parameter

Parameter
param_name Kunci parameter.
param_csv_value Nilai parameter yang diberikan dalam parameter job. Jika None, daftar kosong akan ditampilkan.

Meningkatkan

ValueError – Jika jumlah tanda petik ganda tidak valid, beberapa nilai tidak valid, atau beberapa nilai memiliki tanda petik ganda yang tidak cocok.

Hasil

Daftar nilai unik yang diberikan dalam parameter tugas. Jika tidak ditemukan nilai yang valid, daftar kosong akan ditampilkan.

Jenis hasil yang ditampilkan

list[str]

class TIPCommon.base.job.data_models.JobParameter

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

Dasar: object

Objek parameter skrip umum.

Atribut

Atribut
full_dict dict[str, Any]

Dict asli yang diterima dari API.

id int | None

ID parameter.

is_mandatory bool

Tentukan apakah parameter wajib diisi atau tidak.

Catatan: Atribut ini diprioritaskan daripada value dalam playbook.

name str | None

Nama parameter.

type ActionParamType

Jenis parameter.

value Any

Nilai default parameter.

Catatan: Atribut ini diprioritaskan daripada default_value dalam tindakan manual.

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)

Dasar: object

Mewakili output JSON terstruktur untuk suatu tindakan.

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

Dasar: object

Mewakili struktur output lengkap untuk suatu tindakan.

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

Dasar: object

Mewakili output JSON terstruktur untuk konektor.

class TIPCommon.base.data_models.ConnectorOutput

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

Dasar: object

Mewakili struktur output lengkap untuk konektor.

TIPCommon.base.data_models.alert_info_from_json

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

Membuat objek AlertInfo dari JSON atribut.

Hasil

Objek AlertInfo yang dibuat.

Jenis hasil yang ditampilkan

AlertInfo

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.