O Google publicou o Magika 1.0, uma ferramenta para determinar o tipo de conteúdo de arquivos

A Google apresentou o lançamento da ferramenta Magika 1.0, destinada a determinar o tipo de conteúdo com base na análise dos dados disponíveis no arquivo. O Magika pode identificar com precisão as linguagens de programação, métodos de compressão, pacotes de instalação, código executável, tipos de marcação, formatos de áudio, vídeo, documentos e imagens utilizados no conteúdo. A ferramenta relacionada ao projeto e o modelo de aprendizado de máquina estão disponíveis sob a licença Apache 2.0. As ligações foram preparadas para as linguagens Rust, Python, JavaScript/TypeScript e Go.

Diferente de projetos semelhantes que determinam o tipo MIME com base no conteúdo, o Magika se destaca ao aplicar métodos de aprendizado de máquina, mais alto e precisão na identificação. O modelo foi treinado usando o framework Keras com 100 milhões de exemplos de arquivos (o tamanho do conjunto de dados é superior a 3 TB) e suporta o reconhecimento de 200 tipos de dados com precisão de pelo menos 99%. O modelo está empacotado no formato ONNX e tem apenas alguns megabytes. A utilização de métodos de aprendizado de máquina profundo permitiu aumentar em 50% a precisão da determinação em comparação com o sistema anteriormente utilizado pelo Google, que era baseado em regras definidas manualmente.

No Google, o sistema é utilizado para classificar arquivos nos serviços Gmail, Drive, Code Insight e Safe Browsing durante a execução de verificações de segurança e conformidade com as regras dos serviços. A integração do Magika é garantida nas plataformas VirusTotal e abuse.ch como um elo para a filtragem primária de arquivos antes da execução de analisadores específicos. A configuração do Magika implantada na infraestrutura do Google permite a varredura de vários milhões de arquivos por segundo e centenas de bilhões de arquivos por semana. Após o carregamento do modelo, o tempo de geração de saída é de 5 ms ao ser testado em um único núcleo de CPU. O tempo de determinação quase não depende do tamanho do arquivo.

Para integrar o Magika em seus projetos, foram preparadas uma ferramenta de linha de comando, pacotes para Python, Rust e Go, além de uma biblioteca JavaScript que pode funcionar no navegador ou em projetos baseados em Node.js. A interface de linha de comando e a API suportam a execução de operações em modo batch, ou seja, permitem verificar vários arquivos em uma única solicitação. Há um modo de varredura recursiva em todo o conteúdo do diretório e três modos de previsão para ajustar a resistência a erros (alta confiança, média confiança e melhor palpite).

Inicialmente, o projeto foi desenvolvido em Python, mas com a preparação do lançamento 1.0, o mecanismo de determinação de tipos de conteúdo foi reescrito em Rust, permitindo um desempenho mais alto, mantendo um nível adequado de segurança do código. Para executar o modelo de aprendizado de máquina, foi utilizado o framework ONNX Runtime, e para o processamento assíncrono paralelo das requisições — a biblioteca Tokio. Em um MacBook Pro (M4), o desempenho do mecanismo permite processar cerca de 1000 arquivos por segundo.

Além do novo mecanismo, as mudanças no lançamento 1.0 incluem a ampliação do número de tipos suportados de aproximadamente 100 para 200; a adição de um novo cliente de linha de comando, escrito em Rust; aumento da precisão na determinação de formatos de texto, como arquivos de configuração e código; e a reestruturação dos módulos para Python e TypeScript para facilitar sua integração com outros projetos. Entre os novos tipos de conteúdo suportados estão: formatos utilizados em aprendizado de máquina e IA; linguagens de programação Swift, Kotlin, TypeScript, Dart, Solidity (solidity), Web Assembly e Zig; componentes de DevOps (Dockerfiles, TOML, HashiCorp, arquivos de build Bazel e regras YARA); banco de dados SQLite; arquivos AutoCAD (dwg, dxf), Adobe Photoshop (psd) e fontes (woff, woff2). A separação de código em C++ e C, JavaScript e TypeScript foi aprimorada.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster