
Schnelle und genaue KI-gestützte Erkennung von Dateiinhaltenstypen
Magika ist ein neuartiges, KI-gestütztes Werkzeug zur Erkennung von Dateitypen, das auf den jüngsten Fortschritten des Deep Learning basiert, um eine präzise Erkennung zu ermöglichen. Im Hintergrund verwendet Magika ein maßgeschneidertes, hochoptimiertes Modell, das nur wenige MB wiegt und eine präzise Dateiidentifikation innerhalb von Millisekunden ermöglicht, selbst wenn es auf einer einzelnen CPU läuft. Magika wurde auf einem Datensatz von ~100 Mio. Proben über mehr als 200 Inhaltstypen (sowohl binäre als auch textuelle Dateiformate) trainiert und evaluiert und erreicht eine durchschnittliche Genauigkeit von ~99 % auf unserem Testset.
Hier ist ein Beispiel, wie die Ausgabe der Magika-Kommandozeile aussieht:
Magika wird im großen Maßstab eingesetzt, um die Sicherheit von Google-Nutzern zu verbessern, indem Dateien aus Gmail, Drive und Safe Browsing an die richtigen Sicherheits- und Inhaltsrichtlinien-Scanner weitergeleitet werden, wobei wöchentlich Hunderte Milliarden Proben verarbeitet werden. Magika wurde außerdem in VirusTotal (Beispiel) und abuse.ch (Beispiel) integriert.
Für mehr Kontext können Sie unseren ursprünglichen Ankündigungsbeitrag im OSS-Blog von Google lesen, die Website von Magika konsultieren und mehr in unserem Forschungspapier erfahren, das auf der IEEE/ACM International Conference on Software Engineering (ICSE) 2025 veröffentlicht wurde.
Sie können Magika ohne Installation ausprobieren, indem Sie unsere Web-Demo verwenden, die lokal in Ihrem Browser läuft!
-r verwenden, um ein Verzeichnis rekursiv zu durchsuchen.high-confidence, medium-confidence und best-guess.Magika wird mit einer in Rust geschriebenen CLI ausgeliefert und kann auf verschiedene Weise installiert werden.
Über das Python-Paket magika:
pipx install magika
Via brew (macOS / Linux)
brew install magika
Über das Installationsskript:
curl -LsSf https://securityresearch.google/magika/install.sh | sh
oder:
powershell -ExecutionPolicy Bypass -c "irm https://securityresearch.google/magika/install.ps1 | iex"
Über das Rust-Paket magika-cli:
cargo install --locked magika-cli
pip install magika
npm install magika
Hier finden Sie einige kurze Beispiele, um direkt loszulegen.
Um mehr über die Funktionsweise von Magika zu erfahren, lesen Sie den Abschnitt Core Concepts auf der Magika-Website.
% 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.