Sécurité et confidentialité
Votre archive reste sur votre appareil
ZipRecover est conçu comme un outil de confidentialité. Voici précisément ce qui s'exécute et où, ce que nous ne recevons jamais et comment le moteur traite vos fichiers comme une entrée non fiable.
- Lire et analyser l'archive
- Détecter la méthode de chiffrement
- Dériver les clés et tester les candidats
- Confirmer et afficher un résultat
- Déchiffrement local facultatif des fichiers
- Le fichier ZIP lui-même
- Le contenu de tout fichier à l'intérieur de l'archive
- Les noms de fichiers stockés dans l'archive
- Les mots de passe candidats testés
- Le mot de passe récupéré
- Les empreintes de l'archive qui pourraient identifier ou exposer vos données
Le flux de données
Lorsque vous sélectionnez un fichier, le navigateur en lit les octets avec la File API. La page analyse la structure du ZIP sur votre appareil, choisit une entrée chiffrée, de préférence la plus petite qui soit assez grande pour confirmer un mot de passe de façon décisive, et ne remet à chaque Web Worker que les octets nécessaires pour tester des mots de passe (pour AES, le sel, la valeur de vérification, le texte chiffré et le code d'authentification ; pour ZipCrypto, les octets chiffrés de cette entrée), avec un résumé de l'archive (noms et tailles des entrées). Les workers effectuent les vérifications, avec le hachage lourd en WebAssembly (hash-wasm) ou, pour la dérivation de clé AES, via l'API Web Crypto intégrée au navigateur quand elle est plus rapide sur votre appareil, et ils ne détiennent jamais l'archive entière. Rien dans ce flux ne part vers un serveur, et il ressemble à ceci :
Votre fichier ZIP --> File API du navigateur (local) --> ZIP analysé sur la page (local) --> Des Web Workers testent les mots de passe (local) --> Résultat affiché pour vous seul
Il n'y a délibérément aucune ramification dans ce diagramme qui envoie votre archive vers un serveur. Le moteur de récupération ne contient aucun code réseau qui envoie des données de fichier. C'est le cœur de la question de savoir si les outils en ligne de mots de passe ZIP sont sûrs : le risque réside dans l'envoi, et ici votre archive n'est jamais envoyée.
Deux choses que l'outil conserve sur votre appareil restent dans ce navigateur : une copie de courte durée d'un fichier transmis depuis la page d'accueil (dans le stockage local IndexedDB, supprimée dès que la page de récupération l'a lue) et, pendant une recherche par masque ou par force brute mise en pause, un enregistrement de reprise dans le stockage local. Ni l'une ni l'autre ne nous est jamais envoyée. La section 4 de la politique de confidentialité indique exactement ce que chacune contient et comment l'effacer, ce qui compte sur un ordinateur partagé.
Rapports d'erreur et statistiques
Si le code du site échoue dans votre navigateur, il envoie un court rapport à
/api/error sur ce site, et le serveur du site le consigne (il est prévu
pour transmettre les rapports à notre concentrateur central d'erreurs, qui ne
fonctionne pas encore). Le rapport contient le type et le message de
l'erreur, la trace de pile, l'adresse du script avec sa ligne et sa colonne, le
chemin de la page (sans la chaîne de requête), la langue de la page, le user-agent
de votre navigateur, l'heure, la version du site et, pour une défaillance dans
l'outil de récupération, une étiquette d'un mot qui désigne la partie en cause. Il
ne contient jamais votre archive, son contenu ou ses noms de fichiers, ni aucun mot
de passe, et le navigateur envoie au plus dix rapports par page vue. Les rapports
sont conservés au plus 90 jours (voir la
section 4 de la politique de confidentialité).
L'outil de récupération comprend une fonction de statistiques dans son propre code. Elle ne peut enregistrer que quelques étiquettes non identifiantes au sujet d'une recherche (le schéma de chiffrement, la taille de clé AES de l'archive lorsqu'elle en a une, le mode que vous avez choisi et si l'archive est prise en charge), et jamais votre archive, son contenu ou ses noms de fichiers, ni aucun mot de passe. Aucun collecteur n'y est rattaché aujourd'hui, elle n'envoie donc rien. Cloudflare enregistre malgré tout les métadonnées habituelles de chaque requête pour chaque page vue (voir la section 4 de la politique de confidentialité). Toute statistique de site agrégée ajoutée à l'avenir restera dans cette même liste de données autorisées et ne recevra jamais le contenu de l'archive, les noms de fichiers, les mots de passe candidats, les mots de passe récupérés ni les empreintes de l'archive.
Modèle de sécurité à entrée non fiable
Une archive ZIP que vous chargez pourrait être malformée ou hostile, le moteur traite donc chaque fichier comme non fiable :
- Analyse avec contrôle des limites. L'analyseur de format valide chaque décalage et chaque longueur avant de lire, de sorte qu'une archive tronquée ou fabriquée déclenche une erreur propre au lieu de lire hors limites.
- Limites de mémoire. L'outil teste les mots de passe contre une seule entrée chiffrée de 256 Mo compressés au plus, et sa décompression s'arrête dès que la sortie dépasse la taille que l'archive déclare pour cette entrée, si bien qu'une entrée de type bombe de décompression ne peut pas s'étendre sans limite. L'archive que vous chargez est lue entièrement en mémoire.
- Vérification sans extraction. Tester un mot de passe ne nécessite pas d'extraire des fichiers arbitraires. La confirmation ne lit que l'entrée de vérification (la plus petite entrée qui donne une vérification définitive, si l'archive en contient une) : en AES, elle vérifie le HMAC stocké sur les données chiffrées, et en ZipCrypto, elle déchiffre l'entrée, la décompresse si elle utilise Deflate et compare son CRC-32.
- Aucune exécution de code. Le contenu de l'archive est traité purement comme des données. Rien à l'intérieur d'une archive n'est jamais exécuté ni interprété.
Ce que « aucun envoi » signifie et ne signifie pas
Votre archive ne nous est pas envoyée. Comme pour tout site web, les pages, les scripts et la sonde de compatibilité WebAssembly sont téléchargés depuis notre hébergeur. Les seules données que le site renvoie sont celles du rapport d'erreur décrit plus haut, qui ne contient aucune donnée de votre fichier.
Composants open source
La récupération repose sur des bibliothèques open source établies et sous licence. La dérivation de clé, le HMAC et le CRC-32 viennent de hash-wasm ou de l'API Web Crypto du navigateur ; le flux de clé ZipCrypto suit la spécification publiée par PKWARE dans notre propre code, que les tests vérifient avec des archives écrites par zip.js.
| Composant | Licence | Rôle |
|---|---|---|
| hash-wasm | MIT | WebAssembly PBKDF2-HMAC-SHA1, HMAC-SHA1, CRC-32 |
| zip.js | BSD-3-Clause | Déchiffrement local facultatif et référence de format |
| fflate | MIT | Décompression DEFLATE de secours |
| Astro | MIT | Framework de sites statiques |
Transport et en-têtes
Le site est servi via HTTPS avec une Content-Security-Policy stricte,
X-Content-Type-Options: nosniff, une
Permissions-Policy restrictive et frame-ancestors 'none' pour
empêcher le clickjacking. WebAssembly est autorisé via
script-src 'wasm-unsafe-eval' ; les connexions sont limitées à
l'origine propre du site.
Limitations, en toute honnêteté
Comme la récupération s'effectue côté client, nous ne pouvons ni voir ni contrôler la façon dont l'outil est utilisé, et c'est pourquoi l'utilisation autorisée est une politique que vous acceptez plutôt que quelque chose que nous pouvons imposer techniquement. Et aucun outil ne peut récupérer un mot de passe fort arbitraire : les archives AES en particulier utilisent une dérivation de clé lente qui rend chaque tentative coûteuse par conception.
FAQ sécurité et confidentialité
Recevez-vous parfois mon fichier ZIP ?
Non. Il n'y a aucune étape d'envoi. Le fichier est lu localement avec la File API et analysé sur la page, et des Web Workers testent les mots de passe sur les octets d'une entrée chiffrée qui en est extraite. Aucune requête réseau de l'application ne transporte votre archive, son contenu ou ses noms de fichiers internes.
Stockez-vous ou transmettez-vous les mots de passe récupérés ?
Non. Un mot de passe récupéré est affiché uniquement dans votre onglet de navigateur et n'est copié que lorsque vous cliquez sur copier. Il n'est jamais envoyé où que ce soit et l'outil ne l'écrit pas dans un stockage persistant.
Quels composants open source assurent la récupération ?
L'isolation d'origine croisée est-elle requise ?
Non. Le moteur n'utilise pas SharedArrayBuffer ni WebAssembly multithread, le site n'envoie donc pas Cross-Origin-Embedder-Policy et la page n'a pas d'isolation d'origine croisée (le site envoie en revanche Cross-Origin-Opener-Policy: same-origin). Cela garde le déploiement simple et évite de casser d'autres ressources.
Confidentialité et traitement local
Poursuivre sur ce sujet
Sujets connexes : Récupération de mot de passe ZIP Chiffrement ZIP
Prêt à récupérer votre mot de passe ZIP ?
Tout s'exécute localement dans votre navigateur. Votre archive ne quitte jamais votre appareil.