JavaScript est "relativement sûr", mais pas "absolument sûr". Tout code que vous exécutez sur votre système a le potentiel de nuire. Il n'y a pas de système parfaitement sûr, à l'exception de celui qui n'a jamais été utilisé. JavaScript est plus sûr que de mettre un périphérique USB inconnu dans votre ordinateur, et plus sûr qu'un binaire que vous téléchargez à partir d'un site Web douteux ou insérez une pièce jointe suspecte, et beaucoup plus sûr que certains des scripts que vous trouverez sur les sites Web qui vous indiquent de copiez-collez-les dans votre shell.
Il a des fonctionnalités de sécurité: un bac à sable pour aider à isoler le processus, une API relativement limitée qui a des contraintes de sécurité pour éviter d'exécuter des instructions informatiques arbitraires, et des contrôles de sécurité destinés à Limitez l'exposition des données sensibles telles que les empreintes digitales ou le partage de données entre domaines. Celles-ci s'ajoutent aux contrôles de votre système d'exploitation appliqués au binaire du navigateur pour limiter les mauvais comportements et aux applications antivirus qui peuvent aider à arrêter de telles attaques.
Cependant, ce n'est pas absolument sûr. Les bogues dans le moteur d'exécution du navigateur, le navigateur lui-même, l'antivirus ou même le processeur lui-même peuvent tous compromettre la sécurité de JavaScript. Le système est aussi sûr que sa sécurité la plus faible. La sécurité de JavaScript est principalement destinée à empêcher les exploits «occasionnels» (comme un enfant de 8 ans qui apprend JavaScript pour la première fois et écrit accidentellement un exploit), mais n'a aucune chance contre des attaquants dévoués. JavaScript est suffisamment compliqué pour qu'il y ait forcément des bogues, peut-être de manière étrange et inattendue.
Ceux qui sont expérimentés dans le piratage, les tests de stylet et la sécurité peuvent parcourir le code source, déboguer des exécutables et le font. faites tout ce qu'ils peuvent pour essayer de trouver des fissures dans l'armure. Les points faibles de l'implémentation JavaScript. Et JavaScript est suffisamment gros pour que de telles lacunes existent au départ, car il est pratiquement impossible d'automatiser tous les tests possibles qui permettraient de trouver ces bogues.
D'une manière générale, tout script typique que vous pourriez exécuter sur un site Web typique est probablement "sûr", en particulier ceux auxquels sont liés par les principaux moteurs de recherche. Cependant, une fois que vous commencez à sortir des sentiers battus, il est extrêmement probable que votre système soit compromis à un moment donné s'il y a ne serait-ce qu'un seul point faible. Il suffit d'un très bon exploit, ou parfois de deux ou trois en tandem, pour prendre complètement le contrôle d'un système.
En l'état, n'activez JavaScript que pour les sites de confiance (j'utilise personnellement NoScript à cette fin) , gardez toujours tous vos logiciels à jour et faites toujours attention aux avertissements du navigateur tels que les certificats invalides, etc. Même dans ce cas, vous ne serez pas en sécurité à 100%, mais vous participerez activement à votre propre stratégie d'atténuation.