← 返回首頁

Google 開源「Magika」,揭穿檔案偽裝的秘密武器

Vaishnavi
Vaishnavi
@_vmlops
6,994🔁 842
𝕏 (Twitter)🔥🔥

AI 語音朗讀 · Edge TTS

AI 中文摘要Claude 生成

Google 開源「Magika」,揭穿檔案偽裝的秘密武器。

Google 內部多年使用「Magika」保護 Gmail、Drive 和 Safe Browsing,每週處理數千億個檔案,現在開源讓所有人使用。這款人工智慧檔案類型偵測工具,能看穿惡意軟體偽裝成「resume.pdf」或腳本假扮圖片的伎倆,訓練於約 1 億個檔案樣本,涵蓋 200 多種內容類型,測試集平均精準度達 99%,單檔案推斷僅需 5ms。

內部應用與規模
Google 已將「Magika」大規模部署於 Gmail、Drive 和 Safe Browsing,每週處理數百億個樣本,協助將檔案路由至適當的安全與內容政策掃描器。它也已整合至「VirusTotal」和「abuse.ch」,提升使用者安全,保護數十億 Google 使用者,如今透過 pip install magika 一鍵安裝,同樣工具即刻可用。

技術亮點

  • 以 Rust 撰寫的命令列工具、Python API,以及 Rust、JavaScript/TypeScript(含實驗性 npm 套件,用於網頁示範)和 GoLang(開發中)綁定。
  • 訓練與評估資料集約 1 億個檔案,涵蓋 200+ 內容類型(二進位與文字格式)。
  • 測試集平均精準度與召回率約 99%,特別在文字內容類型超越既有方法。
  • 模型載入後(一次性開銷),單 CPU 單檔案推斷約 5ms,檔案大小不影響速度,仅使用檔案內容有限子集。
  • 支援同時處理數千檔案,或以 -r 遞迴掃描目錄。
  • 每內容類型門檻系統,決定是否信任預測,否則回傳通用標籤如「Generic text document」或「Unknown binary data」。
  • 預測模式可控錯誤容忍,包括 high-confidencemedium-confidencebest-guess

安裝方式
多種安裝途徑確保相容性:

  • Python 套件:pip install magikapipx install magika
  • macOS/Linux:brew install magika
  • 安裝腳本:curl -LsSf https://securityresearch.google/magika/install.sh | sh(Linux/macOS)或 PowerShell 版本。
  • Rust:cargo install --locked magika-cli
  • JavaScript:npm install magika

命令列使用範例
簡單指令揭露真實檔案類型,例如:

cd tests_data/basic && magika -r * | head

輸出如:

  • asm/code.asm: Assembly (code)
  • batch/simple.bat: DOS batch file (code)
  • c/code.c: C source (code)
  • css/code.css: CSS source (code)
  • csv/magika_test.csv: CSV document (code)
  • dockerfile/Dockerfile: Dockerfile (code)
  • docx/doc.docx: Microsoft Word 2007+ document (document)

支援 JSON 輸出:

magika ./tests_data/basic/python/code.py --json

回傳包含路徑、標籤「python」、MIME 類型「text/x-python」、分數 0.996999979019165 等細節。

從標準輸入:

cat tests_data/basic/ini/doc.ini | magika -

輸出:INI configuration file (text)。

選項包括 --recursive(遞迴)、--json--mime-type--output-score 等,自訂格式如 %p %l %d

Python API 範例
輕鬆整合程式碼:

from magika import Magika
m = Magika()
res = m.identify_bytes(b'function log(msg) {console.log(msg);}')
print(res.output.label)  # javascript

支援 identify_pathidentify_stream,如辨識 INI 檔案為「ini」。

效能與模型設計
「Magika」仰賴深度學習,自訂高度最佳化模型僅數 MB 大小,單 CPU 毫秒級精準辨識。獨立於檔案大小的近常數推斷時間,僅分析內容子集,避免傳統副檔名依賴的弱點。預測包含描述、擴展名、群組(如「code」或「document」)、MIME 類型、是否文字,以及信心分數。

開源資源與文件

安全與注意事項
漏洞回報至 [email protected]。非官方 Google 專案,無品質或適售性保證。此工具專為揭穿攻擊者檔案偽裝伎倆設計,從惡意重命名到內容偽裝,一網打盡,標誌人工智慧在檔案安全偵測的重大進展。