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.
סוג: |
_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 |
הודעת הפלט של הפעולה כשהיא נכשלת.
סוג: |
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 = 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
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 |
המאפיין הזה מכיל את נתוני ההעשרה של הישות הנוכחית בכל אחת מהחזרות של הישות. בסוף כל איטרציה, המאפיין סוג: |
entity_results |
תוצאות של ישויות שנכללות בפלט ה-JSON של האובייקט הזה.
סוג: כל סוג |
global_context |
מילון לאחסון ההקשר, אם צריך. סוג: |
שיטות מופשטות
| שיטות מופשטות | |
|---|---|
_get_entity_types() |
מקבלת את סוג הישויות שהפעולה פועלת עליהן. |
_perform_enrich_action() |
מבצעים את לוגיקת ההעשרה העיקרית בישות. |
Methods פרטיות
| Methods פרטיות | |
|---|---|
_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
קובץ מצורף לבקשת תמיכה.
הכיתה הזו לא ניתנת לשינוי. אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שנשמר בקבוצה או כמפתח 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
זמן השינוי של |
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חומרת התובנה. הערכים שאפשר לבחור הם:
|
insight_type |
InsightTypeסוג התובנה. הערכים שאפשר לבחור הם:
|
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 = 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
טבלת נתונים של תוצאות סקריפט פעולה.
הכיתה הזו לא ניתנת לשינוי. אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שמאוחסן בקבוצה או כמפתח 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 = 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המזהה של הפרמטר. |
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 = 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
קישור לתוצאה של סקריפט פעולה.
המחלקה הזו לא ניתנת לשינוי: אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שמאוחסן בקבוצה או כמפתח 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ערך ברירת המחדל של הפרמטר. לפרמטר הזה יש עדיפות על פני הפרמטר |
description |
str | Noneתיאור הפרמטר. |
name |
str | Noneשם הפרמטר. |
value |
Anyערך הפרמטר. הערך הזה מקבל עדיפות על פני הפרמטר |
type |
ActionParamTypeסוג הפרמטר. |
optional_values |
listDDL של ערכים אופציונליים ל-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מגדירים אם הפרמטר הוא חובה או לא. הערה: למאפיין הזה יש עדיפות על פני |
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
יוצר אובייקט AlertInfo מ-JSON של מאפיינים.
מחזירה
אובייקט AlertInfo שנוצר.
סוג הערך שמוחזר
AlertInfo
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.