Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
magika — Быстрое и точное обнаружение типов содержимого файлов на основе ИИ | Kitploit
Инструменты/GitHubGitHub/google/magika
Утилиты общего назначенияСтатический анализАнализ КодаФорензикаАнализ вредоносных программМашинное Обучение
GitHubgoogle/magika

magika

Быстрое и точное обнаружение типов содержимого файлов на основе ИИ

Репозиторий
17.9k1.1k23 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

Magika

image NPM Version image image Go Version

OpenSSF Best Practices CodeQL Actions status PyPI Monthly Downloads PyPI Downloads

Magika — это инновационный инструмент для определения типов файлов на основе ИИ, который использует последние достижения глубокого обучения для обеспечения точного обнаружения. Внутри Magika использует собственную, высокооптимизированную модель, которая весит всего несколько мегабайт, и обеспечивает точную идентификацию файлов за миллисекунды, даже при работе на одном процессоре. Magika был обучен и оценен на наборе данных из ~100 миллионов образцов, охватывающем более 200 типов контента (включая как бинарные, так и текстовые форматы), и достигает средней точности ~99% на нашем тестовом наборе.

Вот как выглядит пример вывода командной строки Magika:

Magika используется в масштабе для повышения безопасности пользователей Google, направляя файлы Gmail, Drive и Safe Browsing в соответствующие сканеры безопасности и политики контента, обрабатывая сотни миллиардов образцов еженедельно. Magika также интегрирован с VirusTotal (пример) и abuse.ch (пример).

Для получения дополнительной информации вы можете прочитать наш первоначальный анонс в блоге Google OSS, посетить веб-сайт Magika и узнать больше в нашей исследовательской статье, опубликованной на IEEE/ACM International Conference on Software Engineering (ICSE) 2025.

Вы можете попробовать Magika без установки, воспользовавшись нашим веб-демо, которое работает локально в вашем браузере!

Highlights

  • Доступен в виде инструмента командной строки на Rust, Python API, а также дополнительных привязок для Rust, JavaScript/TypeScript (с экспериментальным npm-пакетом, который управляет нашим веб-демо) и GoLang (в разработке).
  • Обучен и оценен на наборе данных из ~100 миллионов файлов, охватывающем более 200 типов контента.
  • На нашем тестовом наборе Magika достигает средней точности и полноты ~99%, превосходя существующие подходы — особенно на текстовых типах контента.
  • После загрузки модели (что является разовым накладным расходом) время вывода составляет около 5 мс на файл, даже при выполнении на одном процессоре.
  • Вы можете запустить Magika одновременно на тысячах файлов. Также можно использовать -r для рекурсивного сканирования каталога.
  • Практически постоянное время вывода, независимо от размера файла; Magika использует только ограниченную часть содержимого файла.
  • Magika использует систему порогов для каждого типа контента, которая определяет, стоит ли «доверять» предсказанию модели, или следует вернуть общую метку, например «Generic text document» или «Unknown binary data».
  • Допуск к ошибкам можно контролировать с помощью различных режимов предсказания, таких как high-confidence, medium-confidence и best-guess.
  • Клиент и привязки уже являются открытым исходным кодом, и скоро появится больше!

Table of Contents

  1. Начало работы
    1. Установка
    2. Быстрый старт
  2. Документация
  3. Уязвимости безопасности
  4. Лицензия
  5. Отказ от ответственности

Getting Started

Installation

Command Line Tool

Magika поставляется с CLI на Rust, который можно установить несколькими способами.

Via magika python package:

root@kitploit:~
pipx install magika

Через brew (macOS / Linux)

root@kitploit:~
brew install magika

Через установочный скрипт:

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

или:

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

Через пакет Rust magika-cli:

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

Python package

root@kitploit:~
pip install magika

JavaScript package

root@kitploit:~
npm install magika

Quick Start

Здесь вы найдёте несколько быстрых примеров, чтобы начать работу.

Чтобы узнать о внутреннем устройстве Magika, посмотрите раздел Core Concepts на веб-сайте Magika.

Command Line Tool Examples

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

Дополнительные примеры и документацию по CLI можно найти на https://crates.io/crates/magika-cli.

Python Examples

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

Дополнительные примеры и документацию по Python модулю можно найти в разделе Python Magika module.

Документация

Пожалуйста, обратитесь к веб-сайту Magika для получения подробной документации о:

  • Основные концепции
    • Как работает Magika
    • Модели и типы контента
    • Режимы предсказания
    • Понимание вывода
  • CLI и привязки (Python модуль, JavaScript модуль, ...)
  • Вклад
  • Часто задаваемые вопросы
  • ...

Уязвимости безопасности

Пожалуйста, свяжитесь с нами напрямую по адресу [email protected].

Лицензия

Apache 2.0; подробности см. в LICENSE.

Отказ от ответственности

Этот проект не является официальным проектом Google. Он не поддерживается Google, и Google отказывается от всех гарантий в отношении его качества, товарной пригодности или пригодности для конкретной цели.

Скачать инструмент