- O Google lançou como open source o Magika, um sistema de identificação de tipos de arquivo baseado em IA
- O Magika usa um modelo de deep learning personalizado e otimizado para identificar arquivos com precisão em poucos milissegundos, até mesmo em CPU
- É possível testar a demo web do Magika, e instalá-lo como biblioteca Python e ferramenta autônoma de linha de comando com o comando
pip install magika
Por que a identificação de tipos de arquivo é difícil
- Desde os primórdios da computação, detectar com precisão o tipo de um arquivo é importante para decidir como ele deve ser processado.
- O Linux conta com
libmagic e o utilitário file, que há mais de 50 anos são usados como padrão de fato para identificação de tipos de arquivo.
- A detecção de tipos de arquivo é essencial para que diversos softwares, como navegadores web e editores de código, renderizem corretamente os arquivos.
- Como cada formato de arquivo tem uma estrutura diferente — ou nenhuma estrutura —, a detecção precisa do tipo de arquivo é um problema notoriamente difícil.
- O
libmagic e a maioria dos softwares de identificação de tipos de arquivo dependem de heurísticas e regras criadas manualmente para detectar cada formato.
- Essa abordagem manual consome tempo e está sujeita a erros.
Desempenho do Magika
- Graças ao modelo de IA e a um grande conjunto de dados de treinamento, o Magika apresentou desempenho cerca de 20% melhor do que as ferramentas existentes em um benchmark com 1 milhão de arquivos abrangendo mais de 100 tipos de arquivo.
- Em especial, mostrou ganhos ainda maiores em tipos de arquivo com os quais outras ferramentas têm dificuldade, como arquivos de texto, arquivos de código e arquivos de configuração.
Uso do Magika dentro do Google
- O Magika é usado internamente no Google para encaminhar arquivos do Gmail, Drive e Safe Browsing aos scanners apropriados de segurança e de políticas de conteúdo, aumentando a segurança dos usuários.
- Considerando uma média semanal de dezenas de bilhões de arquivos, o Magika melhorou em 50% a precisão na identificação de tipos de arquivo em comparação com o sistema anterior, que dependia de regras manuais.
- O Magika também deverá complementar o recurso Code Insight existente por meio da integração com o VirusTotal e contribuir para o ecossistema global de cibersegurança, ajudando a criar um ambiente digital mais seguro.
Open source do Magika
- Ao tornar o Magika open source, a ideia é ajudar outros softwares a melhorar a precisão na identificação de arquivos e oferecer aos pesquisadores uma forma confiável de identificar tipos de arquivo em grande escala.
- O código e os modelos do Magika estão disponíveis gratuitamente no Github sob a licença Apache2, e podem ser instalados facilmente pelo gerenciador de pacotes pypi.
- Para mais detalhes sobre como usar o Magika, consulte o site de documentação do Magika.
Opinião do GN⁺
- A liberação do Magika como open source deve ajudar bastante a melhorar a precisão da identificação de tipos de arquivo.
- Especialmente na área de segurança, a identificação correta de arquivos é muito importante, e o Magika pode se tornar uma ferramenta poderosa para isso.
- Espera-se que a capacidade técnica do Google e sua contribuição para a comunidade open source tenham um papel importante no fortalecimento do ecossistema global de cibersegurança.
1 comentários
Opiniões do Hacker News
Testaram a nova ferramenta de detecção de tipo de arquivo em dados de web crawling.
Compartilharam uma experiência de 10 anos atrás com detecção de tipo de arquivo de planilhas.
Compartilharam os resultados de um teste de detecção com 100 arquivos.
file, mostrou precisão semelhante.Reação positiva ao surgimento de uma nova ferramenta na área de detecção de tipo de arquivo.
Confusão sobre o fato de o Google ter investido recursos em uma ferramenta de detecção de tipo de arquivo baseada em rede neural, em vez de melhorar o libmagic.
Curiosidade sobre como detectar arquivos polyglot válidos em vários formatos.
Levantaram dúvidas sobre a precisão ou recall de outras ferramentas na detecção correta de arquivos APK ou JAR.
Compartilharam experiência com a implementação de libmagic em Racket.
Argumento de que a detecção de tipo de arquivo é inerentemente determinística.