NaCl : de retour aux joies de l'Active-X
Google travaille sur Native Client (NaCl), dans Google Chrome. En gros, ça permet d'exécuter du code binaire en plus du HTML et JavaScript habituel.
C'est la même chose que Microsoft et son Active-X (dans Internet Explorer).
C'est une très mauvaise idée : permettre de télécharger puis lancer du code sur la machine de l'internaute et offrir à tous les sites web d'accéder directement à l'ordinateur, ça comporte quelques risques.
À l'époque, on pourrait planter Windows avec IE et Active-X. Voici simplement un code en 5 lignes de JavaScript :
var shellObject = new ActiveXObject("wscript.Shell");
var i;
for (i = 1; i<= 3; i++) {
shellObject.run('cmd');
}
Au lancement de la page, j'ouvre 3 fenêtres cmd.exe.
Ça marche sur IE6/7 sous Windows XP/Vista (soit à la louche 1 pc sur 6 au niveau mondial), et certaines conditions doivent être réunies, mais imaginez une seule seconde qu'à la place de 3 fenêtres CMD inoffensives, j'en avais ouvert 10'000, ou que j'avais effacé quelques fichiers aléatoires dans c:\Windows ? Ou que j'avais lancé le téléchargement d'un virus sur mon site ? et l'avoir lancé ? Le tout sans que l'utilisateur ne soit inquiété ?
L'autre gros soucis qu'on avait avec Active X, c'est que ça ne marchait que sous IE et uniquement sous Windows, d'où tous ces sites "compatible Internet Explorer". Maintenant, ce sont des sites « chrome compatible » qui vont apparaître.
Vu que tous les internautes n'ont pas le même ordinateur, il faudra compiler le code différemment pour chaque navigateur, mais aussi l'OS ainsi que le processeur (x86, 64bit, ARM...). Bref, un beau bordel non inter-opérable.
Google remet donc au goût du jour la plus grosse connerie jamais inventée par Microsoft, tant niveau sécurité que niveau interopérabilité… On rigolera moins quand les premiers virus vont commencer à apparaitre et utiliser ce système pour infecter les PC…