
Détection rapide et précise des types de contenu de fichiers alimentée par l'IA
Magika est un nouvel outil de détection de type de fichier propulsé par l'IA qui s'appuie sur les avancées récentes de l'apprentissage profond pour fournir une détection précise. Sous le capot, Magika emploie un modèle personnalisé, hautement optimisé, qui ne pèse que quelques Mo, et permet une identification précise des fichiers en quelques millisecondes, même lorsqu'il s'exécute sur un seul CPU. Magika a été entraîné et évalué sur un jeu de données d'environ 100 M d'échantillons couvrant plus de 200 types de contenu (incluant à la fois les formats de fichiers binaires et textuels), et il atteint une précision moyenne d'environ 99 % sur notre jeu de test.
Voici un exemple de ce à quoi ressemble la sortie de la ligne de commande de Magika :
Magika est utilisé à grande échelle pour contribuer à améliorer la sécurité des utilisateurs de Google en acheminant les fichiers de Gmail, Drive et Safe Browsing vers les analyseurs de sécurité et de politique de contenu appropriés, traitant des centaines de milliards d'échantillons chaque semaine. Magika a également été intégré à VirusTotal (exemple) et à abuse.ch (exemple).
Pour plus de contexte, vous pouvez lire notre article d'annonce initial sur le blog OSS de Google, consulter le site web de Magika, et en apprendre davantage dans notre article de recherche, publié à la conférence IEEE/ACM International Conference on Software Engineering (ICSE) 2025.
Vous pouvez essayer Magika sans rien installer en utilisant notre démo web, qui s'exécute localement dans votre navigateur !
-r pour analyser récursivement un répertoire.high-confidence, medium-confidence et best-guess.Magika fournit une CLI écrite en Rust, et peut être installée de plusieurs manières.
Via le package Python magika :
pipx install magika
Via brew (macOS / Linux)
brew install magika
Via le script d'installation :
curl -LsSf https://securityresearch.google/magika/install.sh | sh
ou :
powershell -ExecutionPolicy Bypass -c "irm https://securityresearch.google/magika/install.ps1 | iex"
Via le paquet Rust magika-cli :
cargo install --locked magika-cli
pip install magika
npm install magika
Vous trouverez ici quelques exemples rapides pour vous aider à démarrer.
Pour en savoir plus sur le fonctionnement interne de Magika, consultez la section Core Concepts du site 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]...