Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
magika — Détection rapide et précise des types de contenu de fichiers alimentée par l'IA | Kitploit
Outils/GitHubGitHub/google/magika
Utilitaires GénérauxAnalyse StatiqueAnalyse de CodeAnalyse ForensiqueAnalyse de MalwareApprentissage Automatique
GitHubgoogle/magika

magika

Détection rapide et précise des types de contenu de fichiers alimentée par l'IA

Voir le dépôt
17.9k1.1kil y a 23 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Magika

image NPM Version image image Go Version

OpenSSF Best Practices CodeQL Actions status PyPI Monthly Downloads PyPI Downloads

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 !

Points forts

  • Disponible en tant qu'outil en ligne de commande écrit en Rust, une API Python, et des liaisons supplémentaires pour Rust, JavaScript/TypeScript (avec un paquet npm expérimental, qui alimente notre démo web), et GoLang (en cours).
  • Entraîné et évalué sur un ensemble de données d'environ 100 millions de fichiers couvrant plus de 200 types de contenu.
  • Sur notre ensemble de test, Magika atteint une précision et un rappel moyens d'environ 99 %, surpassant les approches existantes — en particulier sur les types de contenu textuels.
  • Après le chargement du modèle (un coût unique), le temps d'inférence est d'environ 5 ms par fichier, même sur un seul CPU.
  • Vous pouvez invoquer Magika avec des milliers de fichiers en même temps. Vous pouvez aussi utiliser -r pour analyser récursivement un répertoire.
  • Temps d'inférence quasi constant, indépendamment de la taille du fichier ; Magika n'utilise qu'un sous-ensemble limité du contenu du fichier.
  • Magika utilise un système de seuil par type de contenu qui détermine s'il faut « faire confiance » à la prédiction du modèle, ou retourner une étiquette générique, comme « Document texte générique » ou « Données binaires inconnues ».
  • La tolérance aux erreurs peut être contrôlée via différents modes de prédiction, comme high-confidence, medium-confidence et best-guess.
  • Le client et les liaisons sont déjà open source, et d'autres fonctionnalités arrivent bientôt !

Table des matières

  1. Pour commencer
    1. Installation
    2. Démarrage rapide
  2. Documentation
  3. Vulnérabilités de sécurité
  4. Licence
  5. Avertissement

Pour commencer

Installation

Outil en ligne de commande

Magika est livré avec une CLI écrite en Rust et peut être installé de plusieurs manières.

Via le paquet python magika :

root@kitploit:~
pipx install magika

Via brew (macOS / Linux)

root@kitploit:~
brew install magika

Via un script d'installation :

root@kitploit:~
curl -LsSf https://securityresearch.google/magika/install.sh | sh

ou :

root@kitploit:~
powershell -ExecutionPolicy Bypass -c "irm https://securityresearch.google/magika/install.ps1 | iex"

Via le paquet Rust magika-cli :

root@kitploit:~
cargo install --locked magika-cli

Paquet Python

root@kitploit:~
pip install magika

Paquet JavaScript

root@kitploit:~
npm install magika

Démarrage rapide

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.

Exemples en ligne de commande

root@kitploit:~
% 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)
root@kitploit:~
% 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
      }
    }
  }
]
root@kitploit:~
% cat tests_data/basic/ini/doc.ini | magika -
-: INI configuration file (text)
root@kitploit:~
% 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

      --no-dereference
          Identifies symbolic links as is instead of identifying their content by following them

      --colors
          Prints with colors regardless of terminal support

      --no-colors
          Prints without colors regardless of terminal support

  -s, --output-score
          Prints the prediction score in addition to the content type

  -i, --mime-type
          Prints the MIME type instead of the content type description

  -l, --label
          Prints a simple label instead of the content type description

      --json
          Prints in JSON format

      --jsonl
          Prints in JSONL format

      --format <CUSTOM>
          Prints using a custom format (use --help for details).

          The following placeholders are supported:

            %p  The file path
            %l  The unique label identifying the content type
            %d  The description of the content type
            %g  The group of the content type
            %m  The MIME type of the content type
            %e  Possible file extensions for the content type
            %s  The score of the content type for the file
            %S  The score of the content type for the file in percent
            %b  The model output if overruled (empty otherwise)
            %%  A literal %

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Pour plus d'exemples et de documentation sur la CLI, voir https://crates.io/crates/magica-cli.

Exemples Python

root@kitploit:~
>>> from magika import Magika
>>> m = Magika()
>>> res = m.identify_bytes(b'function log(msg) {console.log(msg);}')
>>> print(res.output.label)
javascript
root@kitploit:~
>>> from magika import Magika
>>> m = Magika()
>>> res = m.identify_path('./tests_data/basic/ini/doc.ini')
>>> print(res.output.label)
ini
root@kitploit:~
>>> from magika import Magika
>>> m = Magika()
>>> with open('./tests_data/basic/ini/doc.ini', 'rb') as f:
>>>     res = m.identify_stream(f)
>>> print(res.output.label)
ini

Pour plus d'exemples et de documentation sur le module Python, voir la section Module Python Magika.

Documentation

Veuillez consulter le site web de Magika pour une documentation détaillée sur :

  • Concepts de base
    • Comment fonctionne Magika
    • Modèles et types de contenu
    • Modes de prédiction
    • Comprendre la sortie
  • CLI et liaisons (module Python, module JavaScript, ...)
  • Contribution
  • FAQ
  • ...

Vulnérabilités de sécurité

Veuillez nous contacter directement à [email protected].

Licence

Apache 2.0 ; voir LICENSE pour les détails.

Avertissement

Ce projet n'est pas un projet officiel de Google. Il n'est pas soutenu par Google et Google décline expressément toutes garanties quant à sa qualité, sa commercialisabilité ou son adéquation à un usage particulier.

Télécharger l’outil