Certains s’étonnent qu’OS X conserve un historique de tout ce que vous avez téléchargé. Mais on le sait parfaitement depuis des années : c’est la base du système de quarantaine.
Ce système existe depuis Mac OS X 10.4 Tiger : tous les fichiers téléchargés sont marqués et doivent être vérifiés avant leur ouverture. Les fichiers téléchargés avec Safari, Mail et Messages sont placés en quarantaine et marqués avec des attributs comme la date, l’heure et la source du téléchargement. Les fichiers téléchargés avec les autres applications sont uniquement placés en quarantaine.
Le message « Êtes-vous certain de vouloir l’ouvrir ? » est une manifestation du système de quarantaine : lorsque vous confirmez l’ouverture, le « confinement » est levé.
Il a été amélioré dans Mac OS X 10.6 Snow Leopard avec l’intégration de XProtect, l’anti-malware d’Apple. Lorsque vous ouvrez pour la première fois un fichier en quarantaine, le système vérifie s’il peut contenir des logiciels malveillants répertoriés. Si c’est le cas, vous ne pouvez pas l’ouvrir et donc le sortir du confinement : vous pouvez seulement le placer dans la corbeille.
Ce système n’est cependant pas parfait et peut-être détourné : il est toujours présent dans OS X Mountain Lion, mais il est accompagné par Gatekeeper, qui comble la plupart de ses défauts. Nous avions consacré un long chapitre aux avantages et aux inconvénients de la quarantaine et de Gatekeeper l’été dernier dans notre ouvrage sur les nouveautés de Mountain Lion.
Une partie du système de quarantaine se repose sur un index de tous les fichiers téléchargés. Et par tous, il s’agit bien de tous, y compris si vous utilisez la navigation privée : cette fonction n’agit pas au niveau des applications mais au niveau du système, puisqu’il faut qu’elle soit active même si une application a été compromise.
La présence de ce fichier ne pose pas en elle-même problème : il n’est utilisé que par OS X et n’est pas transmis à un tiers (ni même à Apple). Pour y accéder, il faut donc soit avoir la machine en main, soit exploiter une éventuelle faille du système pour y pénétrer à distance, soit utiliser des mécanismes d'ingénierie sociale pour forcer l’utilisateur à vous donner les clefs de sa machine. Dans tous ces cas, un historique de vos téléchargements sera sans doute le cadet de vos soucis.
On peut sûrement reprocher à Apple de ne pas avoir fait en sorte qu’OS X le purge régulièrement, ne serait-ce que pour déréférencer les fichiers qui ont été supprimés. Il faut néanmoins remarquer que seule l’URL source est conservée, et aucun autre détail. Et que certains ne sont pas opposés à cet index, une astuce populaire consistant à l’exploiter pour retrouver la source d’un téléchargement que l’on aurait supprimé ou que l’on aurait oublié.
Il suffit en effet d’entrer la commande sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent'
dans le Terminal pour le consulter. Si vous voulez organiser les téléchargements par source, utilisez la commande sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent' | sort
. L’affichage peut prendre un certain temps selon l’âge de votre système et donc la taille de la liste.
Quoi qu’il en soit, sachez que vous pouvez purger vous-même cet historique avec la commande sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'
. Rien ne vous empêche par exemple d’en faire un service OS X — il suffit de suivre cette astuce en changeant la commande employée.