À propos du projet

Magika est un outil de détection de type de fichiers propulsé par l'IA, développé par Google, qui utilise un modèle d'apprentissage profond compact (quelques Mo seulement) pour identifier les types de contenu des fichiers. Selon le README, il a été entraîné et évalué sur environ 100 millions d'échantillons couvrant plus de 200 types de contenu, y compris des formats binaires et textuels, et affiche environ 99 % de précision et de rappel moyens sur son ensemble de test. L'inférence prend environ 5 ms par fichier sur un seul CPU après le chargement du modèle, et le temps est quasi constant quelle que soit la taille du fichier, car seule une partie limitée du contenu est utilisée. Le projet est distribué sous forme d'outil en ligne de commande écrit en Rust, d'une API Python, et de liaisons pour Rust, JavaScript/TypeScript (avec un paquet npm alimentant une démo basée sur navigateur), et Go (décrit comme étant en cours de développement). Les options d'installation incluent pipx, Homebrew, un script d'installation pour Unix et PowerShell, cargo, pip et npm. La CLI prend en charge l'analyse récursive, la lecture depuis l'entrée standard, la sortie JSON et JSONL, les formats de sortie personnalisés, la sortie de type MIME et d'étiquette, et l'impression des scores. Elle propose également des modes de prédiction tels que haute confiance, confiance moyenne et meilleure estimation, ainsi qu'un système de seuil par type de contenu qui peut renvoyer des étiquettes génériques comme « Generic text document » ou « Unknown binary data » lorsque le modèle n'est pas confiant. Le README indique que Magika est utilisé à grande échelle chez Google pour router les fichiers de Gmail, Drive et Safe Browsing vers des analyseurs de sécurité et de politique de contenu appropriés, et qu'il a été intégré à VirusTotal et abuse.ch. Une démo web s'exécute localement dans le navigateur. Le projet est sous licence Apache 2.0 et inclut une clause de non-responsabilité précisant qu'il ne s'agit pas d'un projet officiel de Google.