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)

기본: ABC, Generic[ApiClient]

Google SecOps 작업 개발을 위한 통합 일반 인프라 구현입니다.

Action 기본 클래스는 상속된 작업 클래스에서 재정의할 템플릿 추상 메서드, 일반 속성, 작업의 실행 메서드를 호출할 때 실행되는 메서드로서 일반 흐름을 제공합니다.

매개변수

매개변수
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]

모든 목록 콘텐츠는 기본적으로 케이스 결과로 전송됩니다.

이 케이스의 통계를 나타내는 콘텐츠 객체 목록을 반환합니다.

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 entity_types

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]

각 매개변수가 snake_case 속성으로 노출된 작업의 매개변수를 설명하는 Container 객체를 반환합니다.

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)

기본: 열거형

상수

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

기본: object

작업 스크립트 결과 첨부파일입니다.

이 클래스는 변경할 수 없습니다. 생성된 후에는 속성을 수정할 수 없습니다. == 연산자를 사용하여 해싱 (예: 집합에서 사용하거나 사전 키로 사용) 및 동등 비교를 지원합니다.

속성

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

기본: object

케이스 첨부파일입니다.

이 클래스는 변경할 수 없습니다. 값을 할당하고 객체를 만든 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

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

기본: object

케이스 댓글입니다.

이 클래스는 변경할 수 없습니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

속성
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

생성자의 전체 이름입니다(예: 시스템).

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

알림의 식별자입니다(예: 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)

기본: object

케이스 통계입니다.

이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

속성
title str

통계의 제목입니다.

triggered_by str

통합 이름입니다.

content str

통계 메시지입니다.

severity InsightSeverity

통계 심각도입니다. 가능한 값은 다음과 같습니다.

  • info
  • warning
  • error
insight_type InsightType

통계 유형입니다. 가능한 값은 다음과 같습니다.

  • general
  • entity
entity_identifier str | None

항목의 식별자입니다.

additional_data Any | None

추가 데이터입니다.

additional_data_type Any | None

추가 데이터의 유형입니다.

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

기본: 열거형

상수

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

기본: 열거형

상수

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

기본: 열거형

상수

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

기본: 열거형

상수

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

기본: 열거형

상수

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

기본: 열거형

상수

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

기본: 열거형

### 상수

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

기본: object

작업 스크립트 결과 콘텐츠입니다.

이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

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

기본: object

작업 스크립트 결과 데이터 테이블입니다.

이 클래스는 변경할 수 없습니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

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

기본: object

항목 통계입니다.

이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

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

기본: 열거형

상수

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

기본: 열거형

상수

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

기본: object

일반 스크립트 매개변수 객체입니다.

속성

속성
full_dict dict[str, Any]

API에서 수신한 원래 사전입니다.

id int | None

매개변수의 ID입니다.

integration_identifier str

통합 식별자(예: 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')

기본: object

작업 스크립트 결과 링크입니다.

이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

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

기본: 열거형

상수

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

기본: object

작업 스크립트 결과 링크입니다.

이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 == 연산자를 지원합니다.

속성

속성
title str | None

링크의 제목입니다.

link str

링크입니다.

class TIPCommon.base.action.data_models.ScriptParameter

클래스 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

매개변수의 기본값입니다.

이 매개변수는 플레이북의 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)

기반: ABC, Generic[ApiParams]

외부 서비스에 대한 API 호출을 관리하는 클래스의 인터페이스입니다.

class TIPCommon.base.interfaces.authable.Authable

클래스 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

클래스 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

기본: 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

클래스 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 로거

property logger: ScriptLogger

작업 스크립트의 로깅 기능을 제공합니다.

property 이름

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

클래스 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

클래스 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])

기본: object

일반 스크립트 매개변수 객체입니다.

속성

속성
full_dict dict[str, Any]

API에서 수신된 원래 사전입니다.

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)

기본: object

작업의 구조화된 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' = '')

기본: object

작업의 전체 출력 구조를 나타냅니다.

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

기본: object

커넥터의 구조화된 JSON 출력을 나타냅니다.

class TIPCommon.base.data_models.ConnectorOutput

클래스 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 전문가로부터 답변을 받으세요.