Rubriques tendance
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Moins c'est plus sûr : comment Obsidian réduit le risque d'attaques de la chaîne d'approvisionnement
Les attaques de la chaîne d'approvisionnement sont des mises à jour malveillantes qui s'introduisent dans le code open source utilisé par de nombreuses applications. Voici comment nous concevons Obsidian pour garantir que l'application est un environnement sécurisé et privé pour vos pensées.
Moins c'est plus sûr
Cela peut sembler évident, mais le principal moyen de réduire le risque d'attaques de la chaîne d'approvisionnement est d'éviter de dépendre de code tiers. Obsidian a un faible nombre de dépendances par rapport à d'autres applications de notre catégorie. Consultez une liste de bibliothèques open source sur notre page de crédits.
Des fonctionnalités comme Bases et Canvas ont été mises en œuvre de zéro au lieu d'importer des bibliothèques toutes faites. Cela nous donne un contrôle total sur ce qui fonctionne dans Obsidian.
- Pour les petites fonctions utilitaires, nous les réimplémentons presque toujours dans notre code.
- Pour les modules moyens, nous les forçons et les gardons dans notre code si les licences le permettent.
- Pour les grandes bibliothèques comme pdf.js, Mermaid et MathJax, nous incluons des fichiers connus et verrouillés par version et ne les mettons à jour que de temps en temps, ou lorsque des corrections de sécurité sont disponibles. Nous lisons les notes de version, examinons les changements en amont et testons minutieusement avant de changer.
Cette approche maintient notre graphique de dépendance peu profond avec peu de sous-dépendances. Une surface plus petite réduit la chance qu'une mise à jour malveillante passe à travers.
Ce qui est réellement inclus dans l'application
Seule une poignée de paquets fait partie de l'application que vous exécutez, par exemple Electron, CodeMirror, moment.js. Les autres paquets nous aident à construire l'application et ne sont jamais expédiés aux utilisateurs, par exemple esbuild ou eslint.
Verrouillage des versions et fichiers de verrouillage
Toutes les dépendances sont strictement verrouillées par version et engagées avec un fichier de verrouillage. Le fichier de verrouillage est la source de vérité pour les constructions, ce qui nous permet d'obtenir des installations déterministes. Cela nous donne une piste d'audit simple lors de l'examen des changements.
Nous n'exécutons pas de scripts post-installation. Cela empêche les paquets d'exécuter du code arbitraire lors de l'installation.
Mises à jour lentes et délibérées
Lorsque nous effectuons des mises à jour de dépendances, nous :
...

Meilleurs
Classement
Favoris