Компания Google объявила о выпуске Magika 1.0, первой стабильной версии своей системы определения типов файлов с открытым исходным кодом, основанной на искусственном интеллекте. Уже используемая в масштабах сервисов Google, Magika теперь представляет полностью переписанный движок на основе Rust, значительно расширенную поддержку форматов и молниеносную производительность в вычислениях.
Как вы, вероятно, знаете, обнаружение типов файлов является давней проблемой: существующие инструменты, такие как классическая утилита file, полагаются на ручную эвристику для вывода форматов, а этот процесс требует постоянного поддержания правил и остается хрупким перед лицом меняющихся структур файлов и враждебного контента.
Принимая это во внимание, magika подходит к проблеме иначе: под капотом она использует компактную пользовательскую модель глубокого обучения (размером всего несколько мегабайт), обученную на миллионах файлов и рассчитанную на эффективную работу даже на одном процессоре.
Во внутренних бенчмарках Google система идентифицировала файлы за миллисекунды и достигла средней точности ~99% для сотен типов файлов. Новая версия Magika 1.0 содержит ряд серьезных улучшений, основными из которых являются:
- Поддержка более 200 типов контента (по сравнению с ~100 в предыдущих версиях).
- Новый основной движок, переписанный на Rust, обеспечивающий высокую производительность и Безопасность памяти.
- Родной клиент командной строки Rust, а также модули Python и TypeScript для упрощения интеграции.
- Повышенная точность при работе со сложными текстовыми форматами (например, различение JSON и JSONL, C и C).
- Почти постоянное время вывода, не зависящее от размера файла: после загрузки модели она может обрабатывать тысячи файлов с минимальной задержкой.
Для справки, внутри Google Magika используется в таких сервисах, как Gmail, Drive и Safe Browsing, где она направляет сотни миллиардов файлов каждую неделю в соответствующие сканеры политики и безопасности. Хорошая новость заключается в том, что благодаря открытому исходному коду инструмента разработчики и организации за пределами Google теперь могут воспользоваться тем же механизмом обнаружения.
Чтобы установить и начать использовать Magika, пользователи могут выполнить простую команду оболочки в Linux/macOS:
curl -LsSf https://securityresearch.google/magika/install.sh | sh
Для Windows предусмотрен сценарий установки powershell. Пакет magika Python также включает нативный клиент Rust CLI под капотом. Для разработчиков Magika предлагает связки на Python, JavaScript/TypeScript (через пакет npm), Rust и готовящуюся библиотеку go.
Обо всех изменениях в новой версии Magika 1.0 читайте в блоге Google Open Source Blog. Более подробную информацию о самом инструменте можно найти по этой ссылке.