Vähemmän on turvallisempaa: kuinka Obsidian vähentää toimitusketjuhyökkäysten riskiä Toimitusketjuhyökkäykset ovat haitallisia päivityksiä, jotka hiipivät monien sovellusten käyttämään avoimeen lähdekoodiin. Näin suunnittelemme Obsidianin varmistaaksemme, että sovellus on turvallinen ja yksityinen ympäristö ajatuksillesi. Vähemmän on turvallisempaa Se saattaa kuulostaa itsestään selvältä, mutta ensisijainen tapa vähentää toimitusketjuhyökkäysten riskiä on välttää riippuvuutta kolmannen osapuolen koodista. Obsidianilla on pieni määrä riippuvuuksia verrattuna muihin luokkamme sovelluksiin. Katso luettelo avoimen lähdekoodin kirjastoista Tekijät-sivultamme. Ominaisuudet, kuten Bases ja Canvas, toteutettiin tyhjästä sen sijaan, että olisi tuotu valmiita kirjastoja. Tämä antaa meille täyden hallinnan siitä, mitä Obsidianissa pyörii. - Pienissä hyötyfunktioissa toteutamme ne lähes aina uudelleen koodissamme. - Keskikokoisille moduuleille haarukoimme ne ja pidämme ne koodikannassamme, jos lisenssit sen sallivat. - Suurissa kirjastoissa, kuten pdf.js, Mermaid ja MathJax, sisällytämme tunnetut hyvät, versiolukitut tiedostot ja päivitämme vain satunnaisesti tai kun tietoturvakorjauksia tapahtuu. Luemme julkaisutiedot, tarkastelemme alkupään muutoksia ja testaamme perusteellisesti ennen vaihtamista. Tämä lähestymistapa pitää riippuvuuskaaviomme matalana ja vähäisillä aliriippuvuuksilla. Pienempi pinta-ala vähentää haitallisen päivityksen läpipäätymisen mahdollisuutta. Mitä sovelluksessa todella toimitetaan Vain kourallinen paketteja on osa käyttämääsi sovellusta, kuten Electron, CodeMirror moment.js. Muut paketit auttavat meitä rakentamaan sovelluksen, eivätkä ne koskaan toimita käyttäjille, esim. Version kiinnitys ja lukitustiedostot Kaikki riippuvuudet on tiukasti versiokiinnitetty ja vahvistettu lukitustiedostolla. Lukkotiedosto on koontiversioiden totuuden lähde, joten saamme deterministisiä asennuksia. Tämä antaa meille suoraviivaisen kirjausketjun muutoksia tarkasteltaessa. Emme suorita asennuksen jälkeisiä komentosarjoja. Tämä estää paketteja suorittamasta mielivaltaista koodia asennuksen aikana. Hitaat ja tarkoitukselliset päivitykset Kun teemme riippuvuuspäivityksiä, toimimme seuraavasti: ...