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 |
הודעת הפלט של הפעולה אם היא נכשלת.
סוג: |
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()
שיטות SDK wrapper
_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.
property 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
property logger: NewLineLogger
מחזירה את האובייקט NewLineLogger של פעולות.
שם הנכס
property name: str
הודעת הפלט של הנכס
property output_message: str
הודעת הפלט של הפעולה במקרה של הפעלה מוצלחת.
הודעת הפלט שמסכמת את תוצאת הפעולה.
פרמטרים של נכס
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() |
ביצוע הלוגיקה העיקרית של ההעשרה על ישות. |
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
קובץ מצורף לבקשת תמיכה.
הסיווג הזה הוא קבוע. אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שנשמר בקבוצה או כמפתח מילון) ובאופרטור ==.
מאפיינים
| מאפיינים | |
|---|---|
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
תגובה לבקשת תמיכה.
הסיווג הזה הוא בלתי ניתן לשינוי. אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שנשמר בקבוצה או כמפתח מילון) ובאופרטור ==.
מאפיינים
| מאפיינים | |
|---|---|
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
תובנה לגבי בקשת תמיכה.
המחלקות האלה הן בלתי ניתנות לשינוי: אחרי שמקצים ערכים ויוצרים את האובייקט, אי אפשר להקצות ערכים חדשים למאפיינים. הכיתה תומכת בגיבוב (שנשמר בקבוצה או כמפתח מילון) ובאופרטור ==.
מאפיינים
| מאפיינים | |
|---|---|
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
### Constants
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המזהה של הפרמטר. |
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 |
listDDL של ערכים אופציונליים ל-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המזהה של הפרמטר. |
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
ממשק של כלי לרישום פעולות שנועד לסקריפטים של 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 באמצעות אובייקט סשן. היא תומכת בסוגים שונים של סשנים וב-mocks עם ספריות כמו 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 |
הפעולה PUT מעדכנת משאב בשרת או יוצרת משאב חדש. |
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 או הלקוחות של ה-API לאינטראקציה עם שירותים חיצוניים.
property error_msg
property error_msg: str
מאחסן את כל הודעות השגיאה שנתקלו בהן במהלך הביצוע של העבודה.
property job_start_time
property job_start_time: int
חותמת הזמן שבה התחילה העבודה.
יומן רישום property
property logger: ScriptLogger
מספק פונקציונליות של רישום ביומן עבור סקריפט העבודה.
שם הנכס
property name: str
מכיל את השם של סקריפט העבודה.
פרמטרים של נכס
property params: Container
מכיל את פרמטרי ההגדרה שסופקו לעבודה.
property 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.