Trendaavat aiheet
#
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.

kepano
@obsdmd tekeminen
Alusta lähtien olemme yrittäneet välttää riippuvuuksia Obsidianissa. Joidenkin ominaisuuksien lisääminen kestää hieman kauemmin, mutta se vähentää toimitusketjuhyökkäysten riskiä ja antaa meille paremman hallinnan suorituskykyyn.

Obsidian20.9. klo 00.51
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:
1. Lue riippuvuuden muutosloki rivi riviltä.
2. Tarkista uuden version tuomat aliriippuvuudet.
3. Vertaa ylävirtaan, kun muutosjoukko on suuri tai riskialtis.
4. Suorita automaattisia ja manuaalisia testejä eri alustoilla ja kriittisillä käyttäjäpoluilla.
5. Toimita uusi lukitustiedosto vasta, kun nämä tarkistukset on hyväksytty.
Käytännössä päivitämme riippuvuuksia harvoin, koska ne yleensä toimivat eivätkä vaadi toistuvia muutoksia. Kun teemme niin, suhtaudumme jokaiseen muutokseen ikään kuin ottaisimme uuden riippuvuuden.
Aika on puskuri
Emme kiirehdi päivityksiä. Riippuvuuden päivittämisen ja julkaisun työntämisen välillä on viive. Tämä aukko toimii ennakkovaroitusikkunana: yhteisö ja tietoturvatutkijat havaitsevat usein haitalliset versiot nopeasti. Kun olemme valmiita lähettämään, ekosysteemi on yleensä ilmoittanut ongelmallisista julkaisuista.
—
Mikään yksittäinen toimenpide ei voi poistaa toimitusketjun riskiä. Mutta vähemmän riippuvuuksia, matalat kaaviot, tarkat versionastat, jälkiasennuksen puuttuminen ja hidas, arvostelupainotteinen päivitystahti yhdessä vähentävät Obsidianin vaikutusta ja antavat meille pitkän ikkunan havaita ongelmat ennen kuin koodi saavuttaa käyttäjät.
Jos olet kiinnostunut laajemmasta lähestymistavastamme tietoturvaan, tutustu tietoturvasivuumme ja aiempiin tarkastuksiin.

23,72K
Johtavat
Rankkaus
Suosikit