Open SourceSécurité de l'IA 🇺🇸 27.07.2026 21:04

Expérimentation de l'API de stockage cross-origin proposée dans Transformers.js

Hugging FaceHugging Face
La proposition d'API de stockage cross-origin (COS) vise à résoudre les téléchargements redondants et la mise en cache des ressources partagées de modèles d'IA et d'exécution entre différentes origines web. Transformers.js souffre actuellement du stockage en double des poids de modèles et des fichiers Wasm en raison de l'isolation du cache du navigateur. COS identifie les fichiers par leur hachage cryptographique plutôt que par leur URL, permettant un partage cross-origin avec intégrité et contrôle d'accès.
Transformers.js permet aux développeurs web d'exécuter des modèles d'IA dans le navigateur via des pipelines spécifiques à des tâches. Cependant, les modèles populaires comme Xenova/whisper-tiny.en sont téléchargés et mis en cache séparément pour chaque origine, ce qui entraîne un stockage en double (par exemple, 177 Mo pour un simple exemple de reconnaissance vocale). Même les fichiers runtime Wasm comme ort-wasm-simd-threaded.asyncify.wasm d'ONNX Runtime sont mis en cache de manière redondante entre les origines, malgré un contenu identique. Cela est dû à l'isolation du cache du navigateur utilisant des clés d'isolation réseau basées sur les sites de premier niveau et de cadre actuel. L'API Cross-Origin Storage (COS) proposée introduit `navigator.crossOriginStorage` qui stocke des fichiers identifiés par un hachage cryptographique (par exemple, SHA-256). Les applications peuvent demander un descripteur de fichier par hachage ; s'il est présent, elles lisent directement ; sinon, elles téléchargent et stockent le fichier avec des options de visibilité : `origins: '*'` pour un partage global, une liste d'origines pour un partage restreint, ou uniquement le même site. Le navigateur vérifie le hachage lors de l'écriture pour l'intégrité, et la visibilité ne peut être qu'améliorée, pas réduite, afin d'éviter un rétrécissement malveillant. COS est une proposition préliminaire non encore implémentée nativement, mais peut être testée via une extension de navigateur.
Source: Hugging Face blog — original
Nos articles précédents sur ce sujet ↓
Infos fraîches