
Detecção rápida e precisa de tipos de conteúdo de arquivo com tecnologia de IA
O Magika é uma ferramenta inovadora de detecção de tipos de arquivo baseada em IA que se baseia no avanço recente do aprendizado profundo para fornecer detecção precisa. Internamente, o Magika utiliza um modelo personalizado e altamente otimizado que pesa apenas alguns MBs e permite a identificação precisa de arquivos em milissegundos, mesmo quando executado em uma única CPU. O Magika foi treinado e avaliado em um conjunto de dados de ~100M amostras em mais de 200 tipos de conteúdo (abrangendo formatos de arquivo binários e textuais) e atinge uma precisão média de ~99% em nosso conjunto de teste.
Aqui está um exemplo da aparência da saída da linha de comando do Magika:
O Magika é usado em larga escala para ajudar a melhorar a segurança dos usuários do Google, roteando arquivos do Gmail, Drive e Navegação Segura para os scanners de segurança e política de conteúdo adequados, processando centenas de bilhões de amostras semanalmente. O Magika também foi integrado com VirusTotal (exemplo) e abuse.ch (exemplo).
Para mais contexto, você pode ler nossa postagem inicial de anúncio no blog de OSS do Google, consultar o site do Magika e ler mais em nosso artigo de pesquisa, publicado na Conferência Internacional de Engenharia de Software (ICSE) IEEE/ACM 2025.
Você pode experimentar o Magika sem instalar nada usando nossa demonstração web, que roda localmente no seu navegador!
-r para escanear recursivamente um diretório.high-confidence, medium-confidence e best-guess.O Magika inclui uma CLI escrita em Rust e pode ser instalado de várias maneiras.
Via pacote python magika:
pipx install magika
Via brew (macOS / Linux)
brew install magika
Via script de instalação:
curl -LsSf https://securityresearch.google/magika/install.sh | sh
ou:
powershell -ExecutionPolicy Bypass -c "irm https://securityresearch.google/magika/install.ps1 | iex"
Via pacote Rust magika-cli:
cargo install --locked magika-cli
pip install magika
npm install magika
Aqui estão alguns exemplos rápidos para você começar.
Para aprender sobre o funcionamento interno do Magika, consulte a seção Core Concepts do site do 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
--no-dereference
Identifies symbolic links as is instead of identifying their content by following them
--colors
Prints with colors regardless of terminal support