A Coding Implementation to Build an AI-Powered File Type Detection and Security Analysis Pipeline with Magika and OpenAI
結合 Google Magika 的位元組級精準辨識與 OpenAI 語言分析,能有效防堵副檔名偽造並自動生成資安威脅評估報告。
- Magika 不依賴副檔名,透過深度學習直接分析原始位元組,能有效揪出偽裝成無害文件的惡意執行檔。
- 結合 OpenAI API,系統能將生硬的掃描日誌自動轉譯為威脅評估、專案摘要與入侵指標(IOC)敘述。
- 透過實作三種信心水準的預測模式與自動化上傳攔截管線,開發者可快速建構企業級的 DevSecOps 防線。
Google 開源的深度學習模型 Magika 能夠直接從檔案的原始位元組(raw bytes)精準辨識格式,徹底打破傳統依賴副檔名的脆弱資安防線。本篇技術導讀將帶領讀者結合 Magika 1.0.2 與 OpenAI API,建構出能自動攔截偽造檔案、生成威脅評估,並將底層二進位數據轉化為高階主管也能讀懂的自動化資安分析管線。
結合 Magika 與 OpenAI 的檔案辨識 API 核心
現代資訊安全防護中,惡意程式經常透過修改副檔名來規避基礎防毒掃描。為了解決這個痛點,本實作首先引入了 Google 開發的 Magika 模型,它不依賴檔案名稱或副檔名,而是直接讀取檔案的二進位內容進行深度學習分類。同時,系統串接了 GPT-4o 語言模型,作為後續解釋掃描結果的推論引擎。
在基礎的 API 測試中,我們將多種不同格式的原始位元組樣本(包含 Python、JavaScript、JSON 以及帶有特定標記的 PDF 與 ZIP 檔)直接餵給模型。Magika 能夠在毫秒級別內返回精準的 MIME 類型與信心分數。
取得底層的位元組辨識結果後,管線會將這些技術標籤發送給 OpenAI API。透過系統提示詞(System Prompt)設定 GPT 為一位精簡的機器學習工程師,AI 能將冷硬的掃描數據轉譯為人類可讀的解釋,說明深度學習模型如何捕捉位元組模式,以及為何這種作法比單純比對副檔名更具備資安韌性。
批次掃描與 Magika 三種預測模式的實務應用
在實際的企業環境中,檔案通常是成批上傳或儲存於程式碼儲存庫中。教學中的第二階段實作了批次識別功能,將一份包含程式碼、設定檔(如 YAML)與標記語言的資料夾交由 Magika 進行 identify_paths 掃描。系統接著將分類結果彙整為 JSON 結構,並要求 GPT 以 DevSecOps(開發、資安與維運一體化)專家的視角,用 3 到 4 句話總結這批檔案所構成的專案輪廓,並標記出需要特別審查的高風險格式。
針對模糊或難以界定的檔案內容,Magika 提供了三種彈性的預測模式(Prediction Mode)。預設情況下,系統會在高度模糊的文本中掙扎,但開發者可以透過參數切換為 HIGH_CONFIDENCE(高信心水準)、MEDIUM_CONFIDENCE(中等信心水準)或 BEST_GUESS(最佳猜測)。
管線的設計將這三種模式針對同一段模糊字串的掃描結果餵給 GPT。AI 資安工程師隨即給出實務上的應用指引:例如在嚴格的防火牆上傳過濾中應使用高信心模式以避免誤攔截,而在進行全面性的惡意軟體狩獵時,則可開啟最佳猜測模式來擴大打擊面。
拆解模型底層欄位與惡意偽造檔案攔截實測
要打造穩健的分析管線,深入理解掃描引擎的輸出結構至關重要。在 Magika 1.0.2 版本中,回傳的 MagikaResult 物件被明確劃分為三個核心區塊:代表最終信賴度的單一 score、經過閾值邏輯處理的 output 欄位,以及保留模型原始輸出的 dl(Deep Learning)欄位。
將這份複雜的字典結構交由 GPT 解析後,我們得到清晰的架構認知:dl.label 代表底層神經網路的原始預測結果,而 output.label 則是經過系統閾值校正後的最終決策。這種雙層結構在進行資安除錯時特別有用。
進入實戰防禦環節,本實作準備了多個典型的「偽造檔案」(Spoofed Files),例如將 Python 腳本偽裝成 invoice.pdf,或是將 HTML 隱藏在 photo.jpg 的副檔名下。Magika 掃描後,管線會自動比對「預期副檔名」與「實際偵測類型」,一旦發現不一致,便觸發警報。
GPT 在此階段化身為 SOC(資安維運中心)分析師,針對每一個偽造檔案生成具體的威脅評估。例如,指出偽裝成圖片的腳本可能企圖觸發瀏覽器的跨網站指令碼(XSS)漏洞,並自動生成相對應的事件回應建議。
極限位元組探測與上傳管線自動化風險評分
神經網路模型到底需要多少資料才能判斷檔案類型?管線進行了一次壓力測試,將一份 Python 腳本分別截斷為 4、8、16、64 直到 512 個位元組的片段進行掃描。實驗證明,憑藉架構的優勢,Magika 往往在極少的位元組前綴(Prefix)中就能捕捉到檔案的特徵。
GPT 進一步解釋了這背後的機制:由於多數檔案格式在開頭處(Header)皆包含高度標準化的魔術數字(Magic numbers)或語法結構,深度學習模型能夠將這些極短的序列映射到高維度的特徵空間中,從而實現低延遲、高效率的邊緣運算級分類。
基於上述優勢,教學建構了一個擬真的檔案上傳掃描管線。該管線不僅比對副檔名,還內建了 BLOCKED_LABELS 黑名單(如 pe、elf、macho 等執行檔格式)。只要檔案實際內容為執行檔,無論副檔名為何,系統皆直接標示為「🚫 BLOCKED」;若內容與副檔名不符則標示為「⚠️ MISMATCH」。最終,整批狀態日誌被送入 GPT,自動生成一份包含最高風險檔案辨識與修復步驟的結構化風險摘要。
數位鑑識指標萃取與 CISO 專用 JSON 報告
在最後的鑑識(Forensics)場景中,管線針對可疑樣本進行了 SHA-256 雜湊值的擷取,並綁定 Magika 的精確分類標籤,形成一組標準的 IOC(入侵指標,Indicators of Compromise)資料。
這份結構化的 IOC 資料被傳遞給扮演威脅情資分析師的 GPT,要求其撰寫一段連貫的攻擊鏈敘述。這種自動化的敘事生成能力,大幅縮短了資安團隊在面對未知攻擊時,從日誌海中拼湊攻擊全貌所需的時間。
系統的最後一哩路是報表產出。管線將所有掃描過的檔案屬性(包含檔名、MIME 類型、是否為純文字、信賴分數等)彙整為一份詳盡的 JSON 陣列。為了讓不具備技術背景的管理層也能掌握狀況,GPT 被指派為 CISO 撰寫一份兩段式的執行摘要(Executive Summary)。
第一段涵蓋了整體的風險態勢與關鍵發現,第二段則給出明確的下一步管理行動。最終,包含詳細掃描數據與 AI 執行摘要的完整報告被匯出為 /tmp/magika_openai_report.json。這套結合了 Google 底層辨識技術與 OpenAI 頂層語義解析的輕量級架構,成功展示了現代 AI 在自動化資安分流與通報上的強大潛力。
當深度學習處理底層位元組分類,而大語言模型接管高階情境解讀時,開發者能以極低成本建構出具備專家思維的自動化資安防線。