Google 发布了 Magika 1.0,这是一个用于识别文件内容类型的工具包。

Google 发布了 Magika 1.0,这是一个基于文件数据分析来识别文件内容类型的工具包。Magika 可以准确识别编程语言、压缩方法、安装包、可执行代码、标记类型以及音频、视频、文档和图像格式。该工具包及其机器学习模型均采用 Apache 2.0 许可证。目前提供 Rust、Python、JavaScript/TypeScript 和 Go 的绑定。

Magika 与其他类似项目不同,后者使用机器学习方法根据内容确定 MIME 类型。 高性能 该模型使用 Keras 框架,基于 100 亿个示例文件(数据集大小超过 3 TB)进行训练,支持识别 200 种数据类型,准确率至少达到 99%。该模型以 ONNX 格式编译,大小仅为几兆字节。与谷歌之前基于手动定义规则的系统相比,采用深度机器学习方法使检测准确率提高了 50%。

在谷歌,该系统用于在安全检查和合规性检查期间对 Gmail、云端硬盘、代码洞察和安全浏览服务中的文件进行分类。Magika 已集成到 VirusTotal 和 abuse.ch 平台中,作为运行特定分析器之前的主要过滤层。部署在谷歌基础设施中的 Magika 配置每秒扫描数百万个文件,每周扫描数千亿个文件。模型加载后,在单核 CPU 上测试的推理时间为 5 毫秒。检测时间几乎与文件大小无关。

为了方便您在项目中使用 Magika,我们准备了命令行工具、Python、Rust 和 Go 的软件包,以及可在浏览器或 Node.js 项目中运行的 JavaScript 库。命令行界面和 API 支持批量操作,允许您在单个请求中扫描多个文件。此外,还提供用于扫描整个目录的递归扫描模式,以及三种用于调整误差容忍度的预测模式(高置信度、中置信度和最佳猜测)。

该项目最初使用 Python 开发,但在 1.0 版本发布前,内容类型检测引擎已用 Rust 重写,在保持所需代码安全性的同时,实现了更高的性能。机器学习模型运行在 ONNX Runtime 框架上,并行异步请求处理则使用了 Tokio 库。在 MacBook Pro (M4) 上,该引擎的性能使其每秒可处理约 1000 个文件。

除了新的引擎之外,1.0 版本还进行了以下更改:支持的类型数量从大约 100 种扩展到 200 种;新增了一个用 Rust 编写的命令行客户端;提高了对配置文件和代码等文本格式的检测精度;并重构了 Python 和 TypeScript 模块,以简化它们与其他项目的集成。新增支持的内容类型包括机器学习和人工智能中使用的格式;Swift、Kotlin、TypeScript、Dart、Solidity、WebAssembly 和 Zig 编程语言;DevOps 组件(Dockerfile、TOML、HashiCorp、Bazel 构建文件和 YARA 规则);SQLite 数据库;AutoCAD 文件(dwg、dxf)、Adobe Photoshop 文件(psd)和字体(woff、woff2)。此外,代码分离(C++ 与 C、JavaScript 和 TypeScript)也得到了改进。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster