
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 basé sur l'IA, qui s'appuie sur les récentes avancées du deep learning pour fournir une détection précise. Sous le capot, Magika utilise 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 sur un seul CPU. Magika a été entraîné et évalué sur un ensemble de données d'environ 100 millions d'échantillons couvrant plus de 200 types de contenu (incluant à la fois des formats binaires et textuels), et atteint une précision moyenne d'environ 99 % sur notre ensemble de test.
Voici un exemple du rendu en ligne de commande de Magika :
Magika est utilisé à grande échelle pour améliorer la sécurité des utilisateurs de Google en orientant les fichiers de Gmail, Drive et Safe Browsing vers les scanners 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 savoir plus 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 est livré avec une CLI écrite en Rust et peut être installé de plusieurs manières.
Via le paquet python magika :
pipx install magika
Via brew (macOS / Linux)
brew install magika
Via un 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 commencer.
Pour en savoir plus sur le fonctionnement interne de Magika, consultez la section Concepts de base 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]...
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