乐于分享
好东西不私藏

1.3万Star,Google出品AI文件类型检测工具

1.3万Star,Google出品AI文件类型检测工具

项目简介

Magika 是一款新型的 AI 驱动文件类型检测工具,它借助深度学习的最新进展来实现高精度检测。

其核心是一个高度优化的自定义模型,大小仅几 MB,即使在单核 CPU 上也能在毫秒级完成精确的文件识别。Magika 在约 1 亿个样本(覆盖 200+ 种内容类型,包括二进制和文本文件格式)的数据集上进行训练和评估,在测试集上平均准确率达到 ~99%

以下是 Magika 命令行工具的输出示例:

Magika 已在大规模生产环境中使用,帮助提升 Google 用户的安全性:它将 Gmail、Drive 和 Safe Browsing 的文件路由到合适的安防和内容策略扫描器,每周处理数千亿个样本。

不想看文章的可以看看视频介绍:

亮点

  • 提供 Rust 命令行工具Python API,以及 Rust、JavaScript/TypeScript(含实验性 npm 包,支持 Web Demo)、GoLang(开发中)绑定。
  • 在约 1 亿个文件200+ 内容类型 上训练和评估。
  • 测试集平均精确率和召回率 ~99%,尤其在文本类文件上显著优于传统方法。
  • 模型加载后(一次性开销),单文件推理时间约 5ms(单 CPU)。
  • 支持同时分析数千个文件,也支持 -r 递归扫描目录。
  • 推理时间几乎与文件大小无关(仅使用文件头部有限内容)。
  • 采用每内容类型阈值系统:模型会决定是否“信任”预测结果,否则返回通用标签(如“通用文本文档”或“未知二进制数据”)。
  • 支持多种预测模式(high-confidencemedium-confidencebest-guess),可控制对错误的容忍度。
  • 客户端和绑定已完全开源,更多内容即将发布。

快速开始

安装

命令行工具(CLI)

  • 通过 Python 包安装(推荐):

    pipx install magika
  • macOS / Linux 使用 Homebrew:

    brew install magika
  • 使用安装脚本:

    curl -LsSf https://securityresearch.google/magika/install.sh | sh

    Windows PowerShell:

    powershell -ExecutionPolicy Bypass -c "irm https://securityresearch.google/magika/install.ps1 | iex"
  • 通过 Rust 安装:

    cargo install --locked magika-cli

Python 包

pip install magika

JavaScript / TypeScript

npm install magika

快速上手示例

命令行工具

# 递归扫描目录cd tests_data/basic && magika -r * | head

输出示例:

asm/code.asm: Assembly (code)batch/simple.bat: DOS batch file (code)...docx/doc.docx: Microsoft Word 2007+ document (document)

JSON 输出

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

管道输入

cat tests_data/basic/ini/doc.ini | magika -# 输出:-: INI configuration file (text)

帮助信息

magika --help

Python 使用示例

from magika import Magikam = Magika()# 从字节识别res = m.identify_bytes(b'function log(msg) {console.log(msg);}')print(res.output.label)        # javascript# 从路径识别res = m.identify_path('./tests_data/basic/ini/doc.ini')print(res.output.label)        # ini# 从文件流识别with open('./tests_data/basic/ini/doc.ini''rb'as f:    res = m.identify_stream(f)print(res.output.label)        # ini

更多详细文档请访问 Magika 官网。


项目地址

https://github.com/google/magika

扫码加入技术交流群,备注「开发语言-城市-昵称

合作请注明

如果你觉得这篇文章不错,别忘了点赞、在看、转发给更多需要的小伙伴哦!我们下期再见!