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
class TIPCommon.base.action.base_action.Action(name: str)
基底:ABC、Generic[ApiClient]
Google SecOps 動作開發的統一通用基礎架構實作。
Action 基礎類別提供範本抽象方法,可在繼承的動作類別中覆寫、通用屬性,以及一般流程 (以方法形式執行,呼叫動作的執行方法時會執行)。
參數
| 參數 | |
|---|---|
name | 
      str
      動作的指令碼名稱。  | 
    
屬性
| 屬性 | |
|---|---|
_soar_action | 
     SiemplifyAction SDK 物件。
     類型:  | 
   
_api_client | 
     整合作業的 API 用戶端。
      類型:  | 
   
_name | 
     使用這項動作的指令碼名稱。
      類型:  | 
   
_action_start_time | 
     動作開始時間。
      類型:  | 
   
_logger | 
     用於記錄動作的記錄器物件。
      類型:  | 
   
_params | 
     這項動作的參數容器。
      類型:  | 
   
global_context | 
     視需要儲存內容的字典。
      類型:  | 
   
_entity_types | 
     動作支援的實體類型。
      類型:  | 
   
_entities_to_update | 
     動作結束時要更新的實體。
      類型:  | 
   
json_results | 
     動作的 JSON 結果。
      類型:  | 
   
_attachments | 
     要新增的案件結果附件。
      類型:  | 
   
_contents | 
     要新增的案件結果內容。
      類型:  | 
   
_data_tables | 
     要新增的案件結果資料表。
      類型:  | 
   
_html_reports | 
     要新增的案件結果 HTML 報表。
      類型:  | 
   
_links | 
     要新增的案件結果連結。
      類型:  | 
   
_entity_insights | 
     要新增的案件實體洞察。
      類型:  | 
   
_case_insights | 
     要新增的案件洞察。
      類型:  | 
   
_execution_state | 
     動作的最終執行狀態。 | 
_result_value | 
     動作最終結果值。
      類型:  | 
   
_output_message | 
     動作成功時的輸出訊息。
      類型:  | 
   
_error_output_message | 
     動作失敗時的輸出訊息。
      類型:  | 
   
方法
- 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
傳回 int,代表動作的開始時間 (以 Unix 時間表示)。
property api_client
propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
傳回 Apiable 物件。
房源附件
property attachments: list[Attachment]
根據預設,清單中的所有附件都會傳送至案件結果。
傳回 Attachment 物件清單,代表這個案件的洞察資料。
property case_insights
property case_insights: list[CaseInsight]
根據預設,清單中的所有案件洞察資料都會傳送至案件結果。
傳回 CaseInsight 物件清單,代表這個案件的洞察資料。
資源內容
property contents: list[Content]
根據預設,所有清單內容都會傳送至案件結果。
傳回代表這個案件洞察資料的內容物件清單。
房源 data_tables
property data_tables: list[DataTable]
根據預設,清單中的所有資料表都會傳送至案件結果。
傳回 DataTable 物件清單,代表這個案件的洞察資料。
property entities_to_update
property entities_to_update: list[DomainEntityInfo]
清單中的所有實體都會傳送至平台進行更新。
傳回 Entity 物件清單,代表應在案件中更新的實體。
property 實體洞察
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 執行狀態
property execution_state: ExecutionState
動作的執行狀態,也就是以整數表示的狀態指標,會傳回給平台。
可能狀態如下:
ExecutionState.COMPLETED = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.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 logger: NewLineLogger
傳回動作的 NewLineLogger 物件。
房源名稱
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
class TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
基礎:動作
代表實體擴充動作的類別。
這個類別會繼承 TIPCommon.base.actions.base_action::Action 類別。
參數
| 參數 | |
|---|---|
name | 
      str動作的名稱。  | 
    
屬性
| 屬性 | |
|---|---|
enrichment_data | 
      這個屬性會保留每個實體疊代中,目前實體的擴充資料。在每次疊代結束時,實體的  類型:  | 
    
entity_results | 
      這個物件的 JSON 輸出內容中包含的實體結果。
       類型:任意  | 
    
global_context | 
      視需要儲存情境的字典。 類型:  | 
    
抽象方法
| 抽象方法 | |
|---|---|
_get_entity_types() | 
      取得動作執行的實體類型。 | 
_perform_enrich_action() | 
      對實體執行主要擴充邏輯。 | 
私有方法
| 私有方法 | |
|---|---|
_perform_action() | 
      這個方法會將其他抽象方法與更多 OOTB 擴充邏輯合併,並傳遞至父項類別,以便在   | 
    
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)
基底:Enum
常數
BOOLEAN = 1CASE_PRIORITIES = 7CLOSE_CASE_REASONS = 5CLOSE_ROOT_CAUSE = 6CODE = 20CONTENT = 11DDL = 15EMAIL_CONTENT = 10ENTITY_TYPE = 13MULTI_VALUES = 14NULL = -1PASSWORD = 12PLAYBOOK_NAME = 2STAGE = 4STRING = 0USER = 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)
基底:object
動作指令碼結果附件。
這個類別不可變更,建立後就無法修改屬性。支援雜湊 (例如用於集合或做為字典鍵) 和使用 == 運算子的等式比較。
屬性
| 屬性 | |
|---|---|
title | 
      附件的標題。 類型:  | 
    
filename | 
      附件的檔案名稱。 類型:  | 
    
file_contents | 
      附件檔案的內容。 類型:  | 
    
additional_data | 
      其他資料。 類型:  | 
    
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)
基底:object
保護殼。
這個類別是不可變動的,指派值並建立物件後,就無法再為屬性指派新值。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
attachment_id | 
      int附件 ID。  | 
    
attachment_type | 
      str附件類型。  | 
    
description | 
      str附件的說明。  | 
    
is_favorite | 
      bool指出附件是否標示為「我的最愛」。  | 
    
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)
基底:object
案件註解。
這個類別是不可變動的,指派值並建立物件後,就無法再將新值指派給屬性。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
comment | 
     str留言。  | 
   
comment_for_client | 
     str | None給用戶端的註解。  | 
   
modification_time_unix_time_in_ms_for_client | 
     int
     
  | 
   
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
     創作者的全名,例如「系統」。  | 
   
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
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)
基底:object
案件洞察資料。
這個類別是不可變動的:指派值並建立物件後,就無法再將新值指派給屬性。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
title | 
     str洞察資料的標題。  | 
   
triggered_by | 
     str整合名稱。  | 
   
content | 
     str洞察訊息。  | 
   
severity | 
     InsightSeverity深入分析嚴重程度。可能的值包括: 
  | 
   
insight_type | 
     InsightType深入分析類型。可能的值包括: 
  | 
   
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
class TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基底:Enum
常數
CRITICAL = 100HIGH = 80INFORMATIONAL = 0LOW = 40MEDIUM = 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)
基底:Enum
常數
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)
基底:Enum
常數
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)
基底:Enum
常數
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)
基底: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
class 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
class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基底:Enum
### 常數
INCONCLUSIVE = 3MAINTENANCE = 2MALICIOUS = 0NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
class TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
基底:object
動作指令碼結果內容。
這個類別是不可變動的:指派值並建立物件後,就無法再將新值指派給屬性。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
title | 
      str | None內容標題。  | 
    
content | 
      str要新增至指令碼結果的內容。  | 
    
class TIPCommon.base.action.data_models.DataTable
class TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
基底:object
動作指令碼結果資料表。
這個類別是不可變動的,指派值並建立物件後,就無法再將新值指派給屬性。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
title | 
    str | None表格標題。  | 
  
data_table | 
    list[str]建構表格的 CSV 列清單。  | 
  
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)
基底:object
實體洞察資料。
這個類別是不可變動的:指派值並建立物件後,就無法再將新值指派給屬性。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
entity | 
    Entity實體物件。  | 
  
message | 
    str洞察資料的訊息。  | 
  
triggered_by | 
    str | None整合的名稱。  | 
  
original_requesting_user | 
    str | None原始使用者。  | 
  
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)
基底: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
class TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基底:Enum
常數
COMPLETED = 0FAILED = 2IN_PROGRESS = 1TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
基底:object
一般指令碼參數物件。
屬性
| 屬性 | |
|---|---|
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
class TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')
基底:object
動作指令碼結果連結。
這個類別是不可變動的:指派值並建立物件後,就無法再將新值指派給屬性。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
title | 
    str | None連結標題。  | 
  
report_name | 
    str報表名稱。  | 
  
report_contents | 
    str報表的 HTML 內容。  | 
  
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)
基底:Enum
常數
BOOLEAN = 0EMAIL = 8INTEGER = 1IP = 4NULL = -1PASSWORD = 3STRING = 2
class TIPCommon.base.action.data_models.Link
class TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
基底:object
動作指令碼結果連結。
這個類別是不可變動的:指派值並建立物件後,就無法再將新值指派給屬性。這個類別支援雜湊 (儲存在集合中或做為字典鍵) 和 == 運算子。
屬性
| 屬性 | |
|---|---|
title | 
    str | None連結標題。  | 
  
link | 
    str連結。  | 
  
class TIPCommon.base.action.data_models.ScriptParameter
class TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
基底:object
一般指令碼參數物件。
屬性
| 屬性 | |
|---|---|
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參數的預設值。 這個參數的優先順序高於應對手冊中的   | 
  
description | 
    str | None參數說明。  | 
  
name | 
    str | None參數名稱。  | 
  
value | 
    Any參數值。 在手動動作中,這個值的優先順序高於   | 
  
type | 
    ActionParamType參數類型。  | 
  
optional_values | 
    list類型 DDL 的選用值 DDL。  | 
  
class TIPCommon.base.interfaces.apiable.Apiable
class TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
基底:ABC、Generic[ApiParams]
這個介面適用於管理外部服務 API 呼叫的類別。
class TIPCommon.base.interfaces.authable.Authable
class TIPCommon.base.interfaces.authable.Authable
基底:ABC、Generic[AuthParams]
管理外部服務驗證的類別介面。
抽象方法
| 抽象方法 | |
|---|---|
authenticat_session(params: Authparams) → None | 
      使用 params 驗證類別的 self.session 屬性。
      使用這個工作階段建立物件後,這個方法會向工作階段互動的服務驗證您的身分。  | 
    
屬性
| 屬性 | |
|---|---|
params | 
      object、dataclass、TypedDict、namedtuple 或任何包含所有驗證參數的項目。驗證參數。  | 
    
class TIPCommon.base.interfaces.logger.Logger
class TIPCommon.base.interfaces.logger.Logger
基地:ABC
專為 Marketplace 指令碼設計的記錄器介面,可在傳遞的記錄器遭到取代或模擬時驗證相容性。
抽象方法
| 抽象方法 | |
|---|---|
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
class TIPCommon.base.interfaces.session.Session
底座:ABC、Generic[_R]
這個類別會使用工作階段物件管理 API 工作階段。支援各種工作階段類型,並透過 requests 或 httpx 等程式庫模擬。
屬性
| 屬性 | |
|---|---|
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
class TIPCommon.base.job.base_job.Job(name: str)
基底:ABC、Generic[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 logger: ScriptLogger
為工作指令碼提供記錄功能。
房源名稱
property name: str
保留工作指令碼的名稱。
property 參數
property params: Container
包含提供給工作的設定參數。
property soar_job
property soar_job: SiemplifyJob
代表基礎 Google Security Operations SOAR 工作執行個體。
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)
基礎:Job、Generic[ApiClient]
本節說明會影響工作處理作業的生命週期方法。子類別不必覆寫這些方法。
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
保存用於外部服務互動的 API 用戶端。
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
基底:tuple
屬性
| 屬性 | |
|---|---|
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
class TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
基底:object
一般指令碼參數物件。
屬性
| 屬性 | |
|---|---|
full_dict | 
    dict[str, Any]從 API 收到的原始 dict。  | 
  
id | 
    int | None參數的 ID。  | 
  
is_mandatory | 
    bool定義參數是否為必要。 注意:在劇本中,這項屬性的優先順序高於   | 
  
name | 
    str | None參數的名稱。  | 
  
type | 
    ActionParamType參數類型。  | 
  
value | 
    Any參數的預設值。 注意:在手動操作中,這個屬性的優先順序高於   | 
  
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)
基底:object
代表動作的結構化 JSON 輸出。
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' = '')
基底:object
代表動作的完整輸出結構。
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>)
基底:object
代表連接器的結構化 JSON 輸出。
class TIPCommon.base.data_models.ConnectorOutput
class TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
基底:object
代表連接器的完整輸出結構。
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 專業人員尋求答案。