
Detección rápida y precisa de tipos de contenido de archivos impulsada por IA
Magika es una novedosa herramienta de detección de tipos de archivo basada en IA que se apoya en los recientes avances del aprendizaje profundo para proporcionar una detección precisa. Bajo el capó, Magika emplea un modelo personalizado altamente optimizado que pesa solo unos pocos MB, y permite una identificación precisa de archivos en milisegundos, incluso cuando se ejecuta en una sola CPU. Magika ha sido entrenado y evaluado en un conjunto de datos de ~100M de muestras en más de 200 tipos de contenido (cubriendo formatos de archivo tanto binarios como textuales), y alcanza una precisión promedio de ~99% en nuestro conjunto de prueba.
Aquí hay un ejemplo de cómo se ve la salida de la línea de comandos de Magika:
Magika se usa a escala para ayudar a mejorar la seguridad de los usuarios de Google al enrutar los archivos de Gmail, Drive y Safe Browsing a los escáneres de políticas de seguridad y contenido adecuados, procesando cientos de miles de millones de muestras semanalmente. Magika también se ha integrado con VirusTotal (ejemplo) y abuse.ch (ejemplo).
Para más contexto, puedes leer nuestra publicación inicial en el blog OSS de Google, consultar el sitio web de Magika, y leer más en nuestro artículo de investigación, publicado en la Conferencia Internacional de Ingeniería de Software (ICSE) 2025 de IEEE/ACM.
Puedes probar Magika sin instalar nada utilizando nuestra demo web, ¡que se ejecuta localmente en tu navegador!
-r para escanear un directorio recursivamente.high-confidence, medium-confidence y best-guess.Magika incluye una CLI escrita en Rust y se puede instalar de varias maneras.
A través del paquete de Python magika:
pipx install magika
A través de brew (macOS / Linux)
brew install magika
A través del script de instalación:
curl -LsSf https://securityresearch.google/magika/install.sh | sh
o:
powershell -ExecutionPolicy Bypass -c "irm https://securityresearch.google/magika/install.ps1 | iex"
A través del paquete de Rust magika-cli:
cargo install --locked magika-cli
pip install magika
npm install magika
Aquí puedes encontrar varios ejemplos rápidos para comenzar.
Para conocer el funcionamiento interno de Magika, consulta la sección Conceptos básicos del sitio web de 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)
docx/magika_test.docx: Microsoft Word 2007+ document (document)
eml/sample.eml: RFC 822 mail (text)
empty/empty_file: Empty file (inode)
% magika ./tests_data/basic/python/code.py --json
[
{
"path": "./tests_data/basic/python/code.py",
"result": {
"status": "ok",
"value": {
"dl": {
"description": "Python source",
"extensions": [
"py",
"pyi"
],
"group": "code",
"is_text": true,
"label": "python",
"mime_type": "text/x-python"
},
"output": {
"description": "Python source",
"extensions": [
"py",
"pyi"
],
"group": "code",
"is_text": true,
"label": "python",
"mime_type": "text/x-python"
},
"score": 0.996999979019165
}
}
}
]
% cat tests_data/basic/ini/doc.ini | magika -
-: INI configuration file (text)
% magika --help
Determines file content types using AI
Usage: magika [OPTIONS] [PATH]...
Arguments:
[PATH]...
List of paths to the files to analyze.
Use a dash (-) to read from standard input (can only be used once).
Options:
-r, --recursive
Identifies files within directories instead of identifying the directory itself