Libera tu mente y alcanza tus metas
Magika: identificar archivos con IA
Magika: identificar archivos con IA

Magika: identificar archivos con IA

La detección precisa de los tipos de archivos ha sido crucial para determinar cómo procesarlos. Linux viene equipado con libmagic y la utilidad file, que han servido como estándar de facto para la identificación de tipos de archivos durante más de 50 años.

Hoy en día, los navegadores web, los editores de código y muchos otros programas dependen de la detección del tipo de archivo para decidir cómo representar correctamente un archivo. Por ejemplo, los editores de código modernos utilizan la detección de tipo de archivo para elegir qué esquema de color de sintaxis usar cuando el desarrollador comienza a escribir un archivo nuevo.

La detección precisa del tipo de archivo es un problema notoriamente difícil porque cada formato de archivo tiene una estructura diferente o ninguna estructura. Esto es particularmente desafiante para los formatos textuales y los lenguajes de programación, ya que tienen construcciones muy similares. Hasta ahora, libmagic y la mayoría de los demás programas de identificación de tipos de archivos se han basado en una colección artesanal de heurísticas y reglas personalizadas para detectar cada formato de archivo.

Este enfoque manual requiere mucho tiempo y es propenso a errores, ya que a los humanos les resulta difícil crear reglas generalizadas a mano. En particular para las aplicaciones de seguridad, crear una detección confiable es especialmente desafiante ya que los atacantes intentan constantemente confundir la detección con cargas útiles diseñadas por el adversario.

Para abordar este problema y proporcionar una detección de tipos de archivos rápida y precisa, investigadores de Google desarrollaron Magika, un nuevo detector de tipos de archivos impulsado por IA.

Debajo del capó, Magika utiliza un modelo de aprendizaje profundo personalizado y altamente optimizado diseñado y entrenado con Keras que solo pesa alrededor de 1 MB y utiliza Onnx como motor de inferencia para garantizar que los archivos se identifiquen en cuestión de milisegundos, casi tan rápido como una herramienta que no sea de inteligencia artificial, incluso en la CPU.

Internamente, Magika se utiliza a escala para ayudar a mejorar la seguridad de los usuarios de Google al enrutar archivos de Gmail, Drive y navegación segura. Observar un promedio semanal de cientos de miles de millones de archivos revela que Magika mejora la precisión de la identificación del tipo de archivo en un 50% en comparación con el sistema anterior que se basaba en reglas hechas a mano.

Magika es Open Source y se puede probar en una demostración web, que se ejecuta localmente en el navegador.

  • Disponible como una línea de comandos de Python, una API de Python y una versión experimental de TFJS (que impulsa la demostración web).
  • Más de 100 tipos de contenido (ver lista completa).
  • Procesamiento por lotes: se puede pasar a la línea de comando y a la API varios archivos al mismo tiempo. También puedes usar para escanear recursivamente un directorio.
  • Admite tres modos de predicción diferentes, que modifican la tolerancia a los errores: confianza alta, confianza media y mejor suposición.

  • Para obtener más detalles, consulte la documentación del paquete Python (documentos de desarrollo) y del paquete JS (documentos de desarrollo).

Fuente: Google