函式
總覽
這組數學和資料操控動作可強化應對手冊功能。
動作
轉換時間格式
說明
將日期時間值從一種格式轉換為另一種格式。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
輸入 | 字串 | 不適用 | 是 | 指定要轉換的輸入日期時間值。 |
從格式 | 字串 | 不適用 | 是 |
指定輸入字串的日期時間格式。 https://strftime.org |
格式 | 字串 | YYYY/MM/DD | 是 | 指定輸出內容所需的時間格式。使用箭頭時間格式。 https://arrow.readthedocs.io/en/stable/#supported-tokens |
時間差 (以秒為單位) | 整數 | 0 | 是 | 指定要將輸出內容延遲的秒數。如要指定未來時間/日期,請使用正值;如要指定過去時間/日期,請使用負值。 |
時區 | 字串 | 不適用 | 否 | 指定輸出時區。 |
示例
在這種情況下,如果日期時間輸入為 2002 年 11 月 23 日 07:23:09,且箭頭時間格式為 MM/DD/YYYY HH:mm:ss,則系統會將其轉換為僅含時間的格式,並回溯 5 秒,使用世界標準時間時區。
動作設定
參數 | 類型 |
實體 | 所有實體 |
輸入 | 11/23/2002 07:23:09 |
從格式 | MM/DD/YYYY HH:mm:ss |
格式 | HH:mm:ss |
時間差 (以秒為單位) | -5 |
時區 | EST |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult 時間結果 07:23:04
製作縮圖
說明
轉換圖片的 Base64 縮圖。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
Base64 圖片 | 字串 | 不適用 | 否 | 指定圖片的 Base64 字串。 |
縮圖大小 | 字串 | 250,250 | 是 | 指定縮圖大小,並以半形逗號分隔 (W,L)。 |
輸入 JSON | JSON | 不適用 | 否 | 指定 JSON 輸入內容。範例:{“image” :”<base64 of image>”} |
圖片金鑰路徑 | 字串 | 不適用 | 否 | 如果使用輸入 JSON,請指定圖片欄位的鍵路徑。 |
示例
在這個情境中,我們將從 Base64 輸入內容建立 500x500 的縮圖。
動作設定
參數 | 值 |
實體 | 所有實體 |
Base64 圖片 | iVBORWOKGgoAAAANSUhEUgAAAIgAAAH3CAYAAABnXCF6AAABXGIDQ1BJQ0MgUHJvZmIsZQAAK]FtkD9LQnEUhh9Nkf5ADhEVDQ4tgUmoBBFEdiMRCkyLr016NRXUflyNaGto6gNESOtBLc251mcoCpqDaA5cKm7naqVWBw7w8s5h5cDTq+uVNEFIMpVM×Gd96U2NnZeZ1y46cP]jGSUVCQeX5IRvrWz6vc4bL2dsG/NDi30qZvDEyOSemMBO//zndUTyZbMUTfpacMZVbBERa071aV/zQfCA6aEEj620d fkS5vTTb5uzKwmNOE7Ya+R1zPCT8L+dJufa+NSccf4ymCn78uW15Ki|9KiL]Mkhk80QpQQYYJor]CQP/2/F27saWyi2MOkQ|48VbkREUdRICsco4×BAL9wkEnpkP3v339seWoQpheg66zIpSVTTIMd7e8sQ VOTSHVvt]N/ee7jrqrshUKNrm3Buj3pdB884fDxY1|vNsj705f4jXNc/AQraYUmHWN3rAAAAmVYSWZNTOAqAAAACAABIZkABAAAAAEAAAAAAAAAAAADKOYABWAAABIAAABEOAIABAAAAAEAAAJY OAMABAAAAAAAAHAAAAEFTQO|JAAAAU2NyZwVuc2hvdBNik6MAAAHWAVRYdFhNTDpib20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9|mFkb2|10m5zOm1 IdGEvliB40nhtcHR rPSJYTVAgQ29ZSA2LjAuMCI+CiAgIDxyZ |
縮圖大小 | 500x500 |
輸入 JSON | 空白 |
圖片金鑰路徑 | 空白 |
動作執行結果
-
JSON 結果
{ "Thumbnail" : "<base 64 string>" }
IP 轉整數
說明
將 IP 位址或 IP 位址清單轉換為整數。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
IP 位址 | 字串 | 不適用 | 是 | 指定以半形逗號分隔的 IP 位址清單,以便轉換為整數。 |
示例
在此情況下,IP 位址 1.1.1.1 和 2.2.2.2 會轉換為整數形式。
動作設定
參數 | 值 |
實體 | 所有實體 |
IP 位址 | 1.1.1.1,2.2.2.2 |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult 整數值 16843009,33686018 -
JSON 結果
{ "1.1.1.1" : 16843009, "2.2.2.2" : 33686018 }
數學算術
說明
一組內建數學運算子:
加號「+」:傳回 2 個引數的總和
Sub - returns a result for 1 argument minus the other
Multi - returns a result for 1 argument multiplied by the other
Div - 傳回 1 個引數除以另一個引數的結果
Mod - 傳回 2 個引數之間的百分比結果
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
函式 | 下拉式選單 | Plus | 是 | 指定要對兩個指定引數執行的函式。 |
引數 2 | 整數 | 不適用 | 是 | 指定第二個引數 |
引數 1 | 整數 | 不適用 | 是 | 指定第一個引數 |
範例 1:Plus
在此情況下,200 + 100 = 300。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | Plus |
引數 2 | 100 |
引數 1 | 200 |
範例 2:Sub
在此情況下,1000 - 300 = 700。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | Sub |
引數 2 | 300 |
引數 1 | 1000 |
範例 3:多個
在這個情境中,30 x 20 的結果為 600。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 多 |
引數 2 | 20 |
引數 1 | 30 |
範例 4:Div
在此情況下,500 / 5 = 100。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | Div |
引數 2 | 5 |
引數 1 | 500 |
範例 5:Mod
在此情境中,100 % 23 的結果為 8。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | Mod |
引數 2 | 23 |
引數 1 | 100 |
動作結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult 計算結果 300
數學函式
說明
一組內建 Python 函式:
Abs - 傳回數字的絕對值
Float - 傳回浮點數
顯示 - 轉換數字,視需要加入半形逗號
十六進位 - 將數字轉換為十六進位值
Int - 傳回整數
Max - returns the largest item in an iterable
Min - returns the smallest item in an iterable
Round - rounds a number
Sort - returns a sorted number
Sum - 總和,會加總疊代器的項目
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
函式 | 下拉式選單 | 最大值 | 是 | 指定要對數字執行的數學函式。 |
Numbers | 整數 | 不適用 | 是 | 指定要執行數學函式的數字,並以半形逗號分隔。 |
範例 1:Max
在這個情境中,數字 13.5、-90、556、11.32 的最大值為 556。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | Max |
數字 | 13.5,-90,566,11.32 |
範例 2:最小值
在本情境中,數字 13.5、-90、556、11.32 中的最小值為 -90。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 最小值 |
數字 | 13.5,-90,566,11.32 |
範例 3:Round
在這個情境中,57.63 會四捨五入為 58。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 圓角 |
數字 | 57.63 |
範例 4:排序
在此情境中,數字 [13.5, -90.0, 556.0, 11.32] 會依遞增順序排序為 [-90.0, 11.32, 13.5, 556.0]。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 排序 |
數字 | 13.5,-90,566,11.32 |
範例 5:總和
在這個情境中,下列數字 [10, 20, 30, 40, 50] 的總和為 150。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 總和 |
數字 | 10、20、30、40、50 |
範例 6:浮點數
在此情境中,數字 [100,200] 會轉換為浮點值 [100.0, 200.0]。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 浮點值 |
數字 | 100,200 |
範例 6:十六進位
在此情境中,數字 [100,200] 會轉換為十六進位值 ['0x64', '0xc8']。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 十六進位 |
數字 | 100,200 |
範例 7:Int
在此情境中,浮點值 100.23 會轉換為整數 100。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | Int |
數字 | 100.23 |
範例 8:Abs
在此情境中,負整數 -53 會轉換為絕對值 53。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | Abs |
數字 | -53 |
範例 9:顯示
在此情境中,系統會將 10000 轉換為 10,000 (含逗號)。
動作設定
參數 | 值 |
實體 | 所有實體 |
功能 | 螢幕 |
數字 | 10000 |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult 計算結果 -90
執行 JSONPath 查詢
說明
在指定 JSON 上執行 JSONPath 查詢,並根據運算式擷取值。
如要進一步瞭解 JSONPath,請參閱 https://github.com/h2non/jsonpath-ng。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
JSON | 下拉式選單 | JSON | 是 | 指定 JSON 輸入內容。 |
JSONPath 運算式 | 字串 | 不適用 | 是 | JSON 路徑運算式一律會參照 JSON 結構,就像 XPath 運算式與 XML 文件搭配使用一樣。 |
示例
在這個情境中,公司名稱是從 JSON 範例輸入內容擷取而來。
動作設定
參數 | 值 |
實體 | 所有實體 |
JSON | JSON |
編輯者 | { "company": { "name": "Cyber Secure", "employees": 1000, "founded": "2005", "headquarters": { "city": "San Francisco", "state": "CA", "country": "USA" }, "security": { "firewall": true, "vpn": true, "intrusion_detection": true, "encryption": true, "two_factor_authentication": true } }, "products": [ { "name": "CyberShield", "type": "firewall", "price": 499, "description": "A state-of-the-art firewall for maximum protection against cyber attacks." }, { "name": "SecureVPN", "type": "VPN", "price": 99, "description": "A fast and secure VPN service for safe browsing and online privacy." }, { "name": "IntrusionAlert", "type": "intrusion detection", "price": 299, "description": "An advanced intrusion detection system that monitors your network and alerts you to potential threats." } ] } |
JSONPath 運算式 | $.company.name |
動作執行結果
- JSON 結果
{ "matches" : {"0" : "Cyber Secure"} }
SanitizeHTML
說明
這個動作會根據 HTML5 剖析演算法剖析 HTML 片段,並清除所有不允許的標記或屬性。這個演算法也會處理錯誤的語法,例如未關閉和 (部分) 巢狀結構錯誤的標記。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
標記 | 字串 | 不適用 | 否 | Tags 是允許使用的 HTML 標記集。以半形逗號分隔的清單。系統會逸出或移除不在這份清單中的 HTML 標記。 |
屬性 | 字串 | {‘a’ : [‘href’, ‘title’], ‘abbr’: [‘title’]} | 否 | 屬性可讓您指定允許的屬性。值應為以半形逗號分隔的清單 |
樣式 | 字串 | 不適用 | 否 | 如果允許使用 style 屬性,請指定允許的樣式集,例如 color 和 background-color。值應以半形逗號分隔。 |
允許所有屬性 | 核取方塊 | 已取消勾選 | 否 | 設為 true 即可允許所有屬性 |
輸入 HTML | 字串 | 不適用 | 是 | 指定要清除的 HTML 片段。 |
示例
在此情境中,輸入的 HTML 包含「標記」一節未列出的標記,因此經過清理的輸出內容為「<script>evil()</script>」。
動作設定
參數 | 值 |
實體 | 所有實體 |
標記 | a、abbr、acronym、b、blockquote、code、em、i、li、ol、strong、ul、table、tr、td、th、h1、h2、h3、body、tbody、thead、div、footer、head、header、html、img、option、p、section、span、strong、svg |
屬性 | 空白 |
樣式 | 空白 |
允許所有屬性 | 未勾選 |
輸入 HTML | <script>evil()<</script> |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult 經過清理的結果 <script>evil()</script>”
字串函式
說明
包括基本的 Pythonic 字串函式:
Lower:將字串轉換為小寫。
Upper:將字串轉換為大寫。
計算:傳回指定值在字串中出現的次數。
Find:在字串中搜尋指定值,並傳回該值所在位置。
IsAlpha:如果字串中的所有字元都屬於字母,則傳回「True」。
IsDigit:如果字串中的所有字元都是數字,則傳回「True」。
Replace:傳回字串,其中指定值會替換為指定值。
Strip:傳回經過修剪的字串版本。
Title:將每個字詞的第一個字元轉換為大寫。
Regex Replace:取代規則運算式比對結果
JSON 序列化:將 JSON 物件轉換為序列化字串。
規則運算式:根據規則運算式尋找相符項目。
分割:使用參數 1 做為分隔符,將輸入字串分割成清單。 預設值為逗號。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
Param2 | 字串 | 不適用 | 否 | 指定第二個參數。 |
Param1 | 字串 | 不適用 | 否 | 指定第一個參數。 |
輸入 | 字串 | 不適用 | 是 | 指定函式的輸入內容。 |
函式 | 下拉式選單 | 較低 | 是 | 指定要執行的函式。 |
範例 1:降低
在此情境中,「SAMPLE INPUT」會轉換為「sample input」。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 空白 |
輸入 | 輸入範例 |
功能 | Lower |
範例 2:大寫
在此情境中,輸入的「sample input」會轉換為「SAMPLE INPUT」。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 空白 |
輸入 | sample input |
功能 | Upper |
範例 3:計算
在這個情境中,系統會計算輸入字串中「sample」一詞的出現次數,結果為 2。注意: 參數值會區分大小寫。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 範例 |
輸入 | 包含範例資訊的例句。 |
功能 | Count |
範例 4:尋找
在本情境中,系統會找出輸入字串中「containing」一詞的起始索引,結果為 13。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 包含 |
輸入 | 包含範例資訊的例句。 |
功能 | 尋找 |
範例 5:isAlpha
在本情境中,系統會檢查輸入字串中的所有字元是否為英數字元,並傳回 False 值。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 空白 |
輸入 | %sample sentence containing sample information. |
功能 | isAlpha |
範例 6:isDigit
在本情境中,系統會檢查輸入字串中的所有字元是否為數字,並傳回 False 值。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 空白 |
輸入 | 100000001 |
功能 | isDigit |
範例 7:取代
在本情境中,系統會將「information」一詞替換為「info」,因此輸出內容為「sample input containing sample info」。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 資訊 |
Param1 | 資訊 |
輸入 | 包含範例資訊的例句。 |
功能 | 取代 |
範例 8:Strip
在本例中,系統會移除輸入字串開頭和結尾的空格,輸出結果為「sample input containing sample information」。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 空白 |
輸入 | sample sentence containing sample information. |
功能 | Strip |
範例 9:標題
在這個情境中,系統會將輸入字串中每個字詞的第一個字元轉換為大寫字元,因此輸出結果為「Sample Input Containing Sample Information」。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 空白 |
輸入 | 包含範例資訊的例句。 |
功能 | 標題 |
範例 10:規則運算式取代
在這個情境中,我們使用規則運算式搜尋「The」,並將其取代為「a」。
在本情境中,我們使用規則運算式搜尋「The」,並將其替換為「a」。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | A |
Param1 | \bThe\b |
輸入 | 敏捷的棕色狐狸跳過一條懶狗 |
功能 | Regex Replace |
範例 11:JSON 序列化
在這個情境中,系統會將 JSON 輸入內容轉換為序列化字串,輸出結果為「{\"key\" :\"value\"}"」。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | 空白 |
輸入 | {"ip" : "0.0.0.0"} |
功能 | JSON 序列化 |
範例 12:規則運算式
在這個情境中,我們嘗試使用正則運算式,從輸入的 JSON 中擷取值。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | (?<="resource":").*?(?=") |
輸入 | {"resource":"host001"} |
功能 | 規則運算式 |
範例 13:分割
在這個情境中,輸入內容會以半形逗號做為分隔符號轉換為清單,因此輸出結果為 [100,200,300,400,500]。
動作設定
參數 | 值 |
實體 | 所有實體 |
Param2 | 空白 |
Param1 | , |
輸入 | 100、200、300、400、500 |
功能 | 分割 |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult 根據函式得出的結果值 23
時間長度計算機
說明
計算兩個日期時間之間的差異。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
輸入日期時間 1 | 字串 | 不適用 | 是 | 指定第一個日期時間輸入值。支援 strftime 格式或「now」表示目前時間。 |
輸入日期時間 1 格式 | 字串 | %Y-%d-%m'T'%H:%M:%S | 是 | 指定「Datetime 1」字串的 strftime 格式。詳情請參閱 https://strftime.org。 |
輸入日期時間 2 | 字串 | 現在 | 是 | 指定第二個日期時間輸入值。支援 strftime 格式或「now」表示目前時間。 |
輸入日期時間 2 格式 | 字串 | %Y-%d-%m'T'%h:%m:%s | 是 | 指定「Datetime 2」字串的 strftime 格式。詳情請參閱 https://strftime.org。 |
示例
在這個情境中,系統會計算 2022-13-03'T'04:13:01 與目前日期時間的差異,輸出結果為:0 年、200 天、10 小時、51 分鐘和 20 秒。
動作設定
參數 | 值 |
實體 | 所有實體 |
輸入日期時間 1 | 2022-13-03'T'04:13:01 |
輸入日期時間 1 的格式 | %Y-%d-%m'T'%H:%M:%S |
輸入日期/時間 2 | 現在 |
輸入日期時間 2 格式 | %Y-%d-%m'T'%h:%m:%s |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 秒 計算出的時間 (秒) 17319080 -
JSON 結果
{ "years": 0, "days": 200, "hours": 4810, "minutes": 288651, "seconds": 17319080, "duration": "Time between dates: 0 years, 200 days, 10 hours, 51 minutes and 20 seconds" }
XMLtoJson
說明
將 XML 格式的輸入內容轉換為 JSON 表示法。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
XML | 字串 | 不適用 | 是 | 指定要轉換為 JSON 的 XML。 |
示例
在這個情境中,我們要將 XML 字串範例轉換為 JSON 物件。
動作設定
參數 | 值 |
實體 | 所有實體 |
xml |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 ScriptResult True/False 是 -
JSON 結果
{ "cybersecurity": {"threat": [{"name": "Malware", "description": "A type of software designed to harm computer systems.", "severity": "High", "prevention": {"software": "Antivirus", "policy": "Regular software updates and patches"}}, {"name": "Phishing", "description": "A fraudulent attempt to obtain sensitive information by impersonating a trustworthy entity.", "severity": "High", "prevention": {"software": "Firewalls and intrusion detection systems", "policy": "Limiting access to network resources to only authorized personnel"}}]} }
偵測雜湊類型
說明
這項動作會偵測實體最有可能的雜湊類型。支援的類型包括 SHA256、MD5、SHA1、SHA-512。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
雜湊 | 字串 | 不適用 | 是 | 指定雜湊值。支援以半形逗號分隔的清單。 |
示例
在這個情境中,我們將識別兩個雜湊的雜湊類型,結果為 MD5 和 SHA256。
動作設定
參數 | 值 |
實體 | 所有實體 |
雜湊 | b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7aceZefcde9,ed076287532e86365e841e92bfc50d8c |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 IsSuccess True/False 是 -
JSON 結果
[{ "Hash": "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9", "HashType": "SHA-256"}, {"Hash": "ed076287532e86365e841e92bfc50d8c", "HashType": "MD5" }]
偵測 IP 類型
說明
檢查 IP 是否為 IPv4 或 IPv6 位址。IP 位址實體會透過 IPType 欄位擴增。
參數
參數 | 類型 | 預設值 | 是否為必要項目 | 說明 |
IP 位址 | 字串 | 不適用 | 是 | 指定 IP 值。支援以半形逗號分隔的清單。 |
示例
在這個情境中,我們會檢查兩個不同的 IP 位址,判斷其類型。
動作設定
參數 | 值 |
實體 | 所有實體 |
IP 位址 | 2001:0db8:85a3:0000:0000:8a2e:0370:7334,
0.0.0.0 |
動作執行結果
-
指令碼執行結果
指令碼結果名稱 價值選項 示例 IsSuccess True/False 是 -
JSON 結果
[{ "Address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "IPType": "IPV6"}, {"Address": "0.0.0.0", "IPType": "IPV4"} }]
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。