Google 開源「Magika」,揭穿檔案偽裝的秘密武器
AI 語音朗讀 · Edge TTS
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-confidence、medium-confidence和best-guess。
安裝方式
多種安裝途徑確保相容性:
- Python 套件:
pip install magika或pipx 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_path 和 identify_stream,如辨識 INI 檔案為「ini」。
效能與模型設計
「Magika」仰賴深度學習,自訂高度最佳化模型僅數 MB 大小,單 CPU 毫秒級精準辨識。獨立於檔案大小的近常數推斷時間,僅分析內容子集,避免傳統副檔名依賴的弱點。預測包含描述、擴展名、群組(如「code」或「document」)、MIME 類型、是否文字,以及信心分數。
開源資源與文件
- GitHub:http://github.com/google/magika(Apache 2.0 授權)。
- 公告:Google OSS 部落格(2024/02),標題「Magika: AI-powered fast and efficient file type identification」。
- 網站:https://securityresearch.google/magika/,涵蓋核心概念、模型、預測模式、輸出解讀、CLI 與綁定、貢獻指南、FAQ。
- 研究論文:發表於 IEEE/ACM ICSE 2025。
- 網頁示範:https://securityresearch.google/magika/demo/magika-demo/,瀏覽器本地執行。
- PyPI 月下載量徽章顯示活躍使用。
安全與注意事項
漏洞回報至 [email protected]。非官方 Google 專案,無品質或適售性保證。此工具專為揭穿攻擊者檔案偽裝伎倆設計,從惡意重命名到內容偽裝,一網打盡,標誌人工智慧在檔案安全偵測的重大進展。
GOOGLE BUILT A SECRET WEAPON FOR FILE DETECTION
— Vaishnavi (@_vmlops) April 13, 2026
they ran it internally for years, gmail, drive, safe browsing, hundreds of billions of files every week
then they open sourced it
it's called magika and it exposes what files really are, not what they pretend to be
rename…
