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 mewakili lampiran.

Hasil

Objek CaseAttachment yang diuraikan.

Jenis nilai 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 mewakili komentar.

Hasil

Objek CaseComment yang diurai.

Jenis nilai 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 logging dalam tindakan.

Jenis: SiemplifyLogger

_params Penampung parameter untuk tindakan ini.

Jenis: Container

global_context Kamus untuk menyimpan konteks, jika diperlukan.

Jenis: dict

_entity_types Jenis entity 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() Menjalankan 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()

properti action_start_time

property action_start_time: int

Menampilkan int yang mewakili waktu mulai tindakan di Unix.

properti api_client

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

Menampilkan objek Apiable.

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.

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

Konten property

property contents: list[Content]

Semua konten daftar dikirim ke hasil kasus secara default.

Menampilkan daftar objek Content yang mewakili insight untuk kasus ini.

properti data_tables

property data_tables: list[DataTable]

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

Menampilkan daftar objek DataTable yang mewakili insight untuk kasus ini.

properti entities_to_update

property entities_to_update: list[DomainEntityInfo]

Semua entitas dalam daftar akan dikirim ke platform untuk diperbarui.

Menampilkan daftar objek Entity yang mewakili entity yang harus diperbarui dalam kasus ini.

property entity_insights

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.

property entity_types

property entity_types: list[EntityTypesEnum]

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

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

property error_output_message

property error_output_message: str

Pesan output tindakan jika eksekusi gagal.

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

properti execution_state

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.

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

properti is_first_run

property is_first_run: bool

Menunjukkan apakah ini adalah operasi pertama.

Returns:

True jika ini adalah operasi 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.

Logger properti

property logger: NewLineLogger

Menampilkan objek NewLineLogger untuk tindakan.

Nama properti

property name: str

properti output_message

property output_message: str

Pesan output tindakan jika operasi berhasil.

Pesan output yang merangkum hasil tindakan.

Parameter property

property params: [Container]

Menampilkan objek Container yang mendeskripsikan parameter tindakan, dengan setiap parameter diekspos sebagai atribut snake_case.

property result_value

property result_value: bool

Nilai hasil tindakan yang akan diteruskan kembali ke platform.

Nilai yang memungkinkan:

  • True: Tindakan Berhasil
  • False: Tindakan Gagal

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

Bases: Action

Class yang merepresentasikan tindakan pengayaan entity.

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 entity 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 entity tempat tindakan dijalankan.
_perform_enrich_action() Menjalankan logika pengayaan utama pada entity.

Metode pribadi

Metode pribadi
_perform_action()

Metode ini menggabungkan metode abstrak lainnya dengan lebih banyak logika pengayaan OOTB 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)

Bases: object

Lampiran hasil skrip tindakan.

Class ini tidak dapat diubah: setelah dibuat, atributnya tidak dapat diubah. Class ini mendukung hashing (misalnya, penggunaan 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)

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

Bases: 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 pembuat, seperti Sistem.

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 perubahan terakhir komentar di Unix, seperti 1686040471269.

creation_time_unix_time_in_ms int

Waktu pembuatan komentar dalam Unix, seperti 1686040471269.

alert_identifier str

ID notifikasi, 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)

Bases: 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 entity.

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

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

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

Bases: object

Insight entity.

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

Bases: 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 tampilan parameter.

value Any

Nilai default parameter.

type IntegrationParamType

Jenis parameter.

optional_values list

DDL nilai opsional untuk jenis 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')

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

Bases: 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]

Bases: 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 jenis DDL.

class TIPCommon.base.interfaces.apiable.Apiable

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

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

Bases: ABC, Generic[AuthParams]

Antarmuka untuk class yang mengelola autentikasi dengan layanan eksternal.

Metode abstrak

Metode abstrak
authenticat_session(params: Authparams) → None 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

Base: ABC

Antarmuka logger yang dirancang untuk skrip Content Hub, yang memverifikasi kompatibilitas saat logger yang diteruskan diganti atau ditiru.

Metode abstrak

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

class TIPCommon.base.interfaces.session.Session

class TIPCommon.base.interfaces.session.Session

Dasar: ABC, Generic[_R]

Class ini mengelola sesi API menggunakan objek sesi. Library 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 Melakukan patch pada resource di server.
post(url: str, *args, **kwargs) → _R Memposting resource ke server.
put(url: str, *args, **kwargs) → _R Menempatkan (memperbarui 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 mewakili skrip tugas di Google SecOps.

Metode

  • start(**kwargs) → None

properti 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 ditemukan selama eksekusi tugas.

properti job_start_time

property job_start_time: int

Menunjukkan stempel waktu saat tugas dimulai.

Logger property

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 disediakan untuk tugas.

property soar_job

property soar_job: SiemplifyJob

Mewakili instance tugas Google SecOps 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 perlu menggantinya.

properti api_client

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

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

Bases: 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 dikutip, 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.

Memunculkan

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 nilai yang ditampilkan

list[str]

class TIPCommon.base.job.data_models.JobParameter

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

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

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

Bases: object

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

Bases: object

Merepresentasikan output JSON terstruktur untuk konektor.

class TIPCommon.base.data_models.ConnectorOutput

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

Bases: object

Merepresentasikan 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 nilai yang ditampilkan

AlertInfo

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