
Rilevamento rapido e accurato dei tipi di contenuto dei file tramite IA
Magika è un innovativo strumento di rilevamento del tipo di file basato sull'IA che sfrutta i recenti progressi del deep learning per fornire un rilevamento accurato. Sotto il cofano, Magika impiega un modello personalizzato e altamente ottimizzato che pesa solo pochi MB e consente un'identificazione precisa dei file in pochi millisecondi, anche quando viene eseguito su una singola CPU. Magika è stato addestrato e valutato su un dataset di circa 100 milioni di campioni distribuiti su oltre 200 tipi di contenuto (che coprono sia formati di file binari che testuali) e raggiunge una precisione media di circa il 99% sul nostro set di test.
Ecco un esempio di come appare l'output della riga di comando di Magika:
Magika viene utilizzato su larga scala per contribuire a migliorare la sicurezza degli utenti Google, indirizzando i file di Gmail, Drive e Safe Browsing verso i corretti scanner di sicurezza e di policy dei contenuti, elaborando centinaia di miliardi di campioni su base settimanale. Magika è stato inoltre integrato con VirusTotal (esempio) e abuse.ch (esempio).
Per maggiori contesto puoi leggere il nostro post di annuncio iniziale sul blog OSS di Google, puoi consultare il sito web di Magika e puoi leggere di più nel nostro articolo di ricerca, pubblicato alla IEEE/ACM International Conference on Software Engineering (ICSE) 2025.
Puoi provare Magika senza installare nulla utilizzando la nostra demo web, che viene eseguita localmente nel tuo browser!
-r per scansionare ricorsivamente una directory.high-confidence, medium-confidence e best-guess.Magika include una CLI scritta in Rust, e può essere installata in diversi modi.
Tramite il pacchetto Python magika:
pipx install magika
Tramite brew (macOS / Linux)
brew install magika
Tramite script di installazione:
curl -LsSf https://securityresearch.google/magika/install.sh | sh
o:
powershell -ExecutionPolicy Bypass -c "irm https://securityresearch.google/magika/install.ps1 | iex"
Tramite il pacchetto Rust magika-cli:
cargo install --locked magika-cli
pip install magika
npm install magika
Qui puoi trovare alcuni esempi rapidi per iniziare.
Per scoprire il funzionamento interno di Magika, consulta la sezione Core Concepts del sito web di 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).