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 מספקת מתודות מופשטות של תבניות שאפשר לשנות במחלקות הפעולה שעוברות בירושה, מאפיינים גנריים ותהליכים כלליים כמתודות שמופעלות כשקוראים למתודה run של הפעולה.

פרמטרים

פרמטרים
name str

שם הסקריפט של הפעולה.

מאפיינים

מאפיינים
_soar_action אובייקט ה-SDK של SiemplifyAction.

סוג: 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

Methods

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

שיטות 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()

דוגמה

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]

כברירת מחדל, כל התוכן של הרשימה נשלח לתוצאת המקרה.

מחזירה רשימה של אובייקטים מסוג 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.

המאפיין 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 logger

property logger: NewLineLogger

מחזירה את האובייקט NewLineLogger לפעולות.

שם הנכס

property name: str

property output_message

property output_message: str

הודעת הפלט של הפעולה במקרה של הרצה מוצלחת.

הודעת הפלט שמסכמת את תוצאת הפעולה.

פרמטרים של נכס

property params: [Container]

הפונקציה מחזירה אובייקט Container שמתאר את הפרמטרים של הפעולה, כשכל פרמטר מוצג כמאפיין עם קו תחתון בין המילים.

property result_value

property result_value: bool

ערך התוצאה של הפעולה שיועבר בחזרה לפלטפורמה.

ערכים אפשריים:

  • ‫True: הפעולה בוצעה בהצלחה
  • ‫False: הפעולה נכשלה

המאפיין soar_action

property soar_action: SiemplifyAction

מחזירה את האובייקט SiemplifyAction של ה-SDK.

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

המאפיין הזה מכיל את נתוני ההעשרה של הישות הנוכחית בכל אחת מהחזרות של הישות. בסוף כל איטרציה, המאפיין additional_properties של הישות מתעדכן בערך self.enrichment_data, כלומר הערך הזה מוגדר בכל פעם עם הערך החדש.

סוג: dict

entity_results תוצאות של ישויות שנכללות בפלט ה-JSON של האובייקט הזה.

סוג: כל סוג

global_context

מילון לאחסון ההקשר, אם צריך.

סוג: dict

שיטות מופשטות

שיטות מופשטות
_get_entity_types() מקבלת את סוג הישויות שהפעולה פועלת עליהן.
_perform_enrich_action() מבצעים את לוגיקת ההעשרה העיקרית בישות.

‫Methods פרטיות

‫Methods פרטיות
_perform_action()

השיטה הזו משלבת את השיטות המופשטות האחרות עם לוגיקת העשרה נוספת של OOTB, ומעבירה אותה למחלקת ההורה לשימוש בשיטה 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)

בסיסים: Enum

קבועים

  • BOOLEAN = 1

  • CASE_PRIORITIES = 7

  • CLOSE_CASE_REASONS = 5

  • CLOSE_ROOT_CAUSE = 6

  • CODE = 20

  • CONTENT = 11

  • DDL = 15

  • EMAIL_CONTENT = 10

  • ENTITY_TYPE = 13

  • MULTI_VALUES = 14

  • NULL = -1

  • PASSWORD = 12

  • PLAYBOOK_NAME = 2

  • STAGE = 4

  • STRING = 0

  • USER = 3

class TIPCommon.base.action.data_models.Attachment

class 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

class TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)

בסיסים: object

קובץ מצורף לבקשת תמיכה.

הכיתה הזו לא ניתנת לשינוי. אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שנשמר בקבוצה או כמפתח dict) ובאופרטור ==.

מאפיינים

מאפיינים
attachment_id int

מזהה הקובץ המצורף.

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

תגובה לבקשת תמיכה.

הכיתה הזו לא ניתנת לשינוי. אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שמאוחסן בקבוצה או כמפתח dict) ובאופרטור ==.

מאפיינים

מאפיינים
comment str

התגובה.

comment_for_client str | None

ההערה ללקוח.

modification_time_unix_time_in_ms_for_client int

זמן השינוי של comment_for_client.

last_editor str

המזהה של מי שערך את הפריט לאחרונה, למשל 77bdb7a4-8484-481d-9482-2449e33f9518.

last_editor_full_name str

השם המלא של המשתמש שערך את הפריט לאחרונה, למשל admin admin.

is_deleted bool

מציין אם התגובה כבר נמחקה.

creator_user_id str

מזהה המשתמש של היוצר, למשל 77bdb7a4-8484-481d-9482-2449e33f9518.

creator_full_name str

השם המלא של היוצר, למשל System.

comment_id int

המזהה של התגובה.

comment_type int

סוג התגובה.

case_id int

מזהה הפנייה.

is_favorite bool

מציין אם התגובה מסומנת כמועדפת.

modification_time_unix_time_in_ms int

המועד האחרון שבו התגובה שונתה, בפורמט Unix, למשל 1686040471269.

creation_time_unix_time_in_ms int

זמן היצירה של התגובה ביוניקס, למשל 1686040471269.

alert_identifier str

המזהה של ההתראה, למשל 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

תובנה לגבי בקשת תמיכה.

המחלקה הזו לא ניתנת לשינוי: אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שנשמר בקבוצה או כמפתח 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

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

בסיסים: Enum

קבועים

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIONAL = 0

  • LOW = 40

  • MEDIUM = 60

class TIPCommon.base.action.data_models.CaseStage

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

בסיסים: 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

טבלת נתונים של תוצאות סקריפט פעולה.

הכיתה הזו לא ניתנת לשינוי. אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שמאוחסן בקבוצה או כמפתח dict) ובאופרטור ==.

מאפיינים

מאפיינים
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

תובנה לגבי ישות.

המחלקה הזו לא ניתנת לשינוי: אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שמאוחסן בקבוצה או כמפתח dict) ובאופרטור ==.

מאפיינים

מאפיינים
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 = 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])

בסיסים: object

אובייקט כללי של פרמטר סקריפט.

מאפיינים

מאפיינים
full_dict dict[str, Any]

המילון המקורי שהתקבל מה-API.

id int | None

המזהה של הפרמטר.

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

רשימה נפתחת של ערכים אופציונליים לרשימה הנפתחת של הסוג.

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

קישור לתוצאה של סקריפט פעולה.

המחלקה הזו לא ניתנת לשינוי: אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שמאוחסן בקבוצה או כמפתח dict) ובאופרטור ==.

מאפיינים

מאפיינים
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 = 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')

בסיסים: object

קישור לתוצאה של סקריפט פעולה.

המחלקה הזו לא ניתנת לשינוי: אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שמאוחסן בקבוצה או כמפתח dict) ובאופרטור ==.

מאפיינים

מאפיינים
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

מזהה הפרמטר.

creation_time int

השעה שבה הפרמטר נוצר.

modification_time int

השעה שבה הפרמטר שונה לאחרונה.

custom_action_id int | None

מזהה הפעולה.

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

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 מאמתים את המאפיין self.session של הכיתה באמצעות params.

השיטה הזו מאמתת אתכם בשירות שהסשן יוצר איתו אינטראקציה, אחרי שנוצר אובייקט באמצעות הסשן הזה.

מאפיינים

מאפיינים
params ‫object, dataclass, TypedDict, namedtuple או כל דבר שמכיל את כל פרמטרי האימות.

פרמטרים של אימות.

class TIPCommon.base.interfaces.logger.Logger

class TIPCommon.base.interfaces.logger.Logger

בסיסים: ABC

ממשק רישום ביומן שמיועד לסקריפטים של Content Hub, שמאמת את התאימות כשהיומן שהועבר מוחלף או מדומה.

שיטות מופשטות

שיטות מופשטות
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 SecOps.

Methods

  • start(**kwargs) → None

property api_client

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

מספק את לקוח ה-API או הלקוחות לאינטראקציה עם שירותים חיצוניים.

property error_msg

property error_msg: str

שומר את כל הודעות השגיאה שמופיעות במהלך ביצוע המשימה.

המאפיין job_start_time

property job_start_time: int

מייצג את חותמת הזמן של תחילת המשימה.

property logger

property logger: ScriptLogger

מספק פונקציונליות של רישום ביומן לסקריפט של המשימה.

שם הנכס

property name: str

מכיל את השם של סקריפט המשימה.

פרמטרים של נכס

property params: Container

מכיל את הפרמטרים של ההגדרות שסופקו למשימה.

המאפיין soar_job

property soar_job: SiemplifyJob

מייצג את המופע הבסיסי של המשימה ב-Google SecOps.

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.

id int | None

המזהה של הפרמטר.

is_mandatory bool

מגדירים אם הפרמטר הוא חובה או לא.

הערה: למאפיין הזה יש עדיפות על פני value בפלייבוקים.

name str | None

שם הפרמטר.

type ActionParamType

סוג הפרמטר.

value Any

ערך ברירת המחדל של הפרמטר.

הערה: המאפיין הזה מקבל עדיפות על פני default_value בפעולות ידניות.

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

יוצר אובייקט AlertInfo מ-JSON של מאפיינים.

מחזירה

אובייקט AlertInfo שנוצר.

סוג הערך שמוחזר

AlertInfo

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.